コード例 #1
0
    private static void UpdateContainer()
    {
        QuickRun qr = new QuickRun("docker.exe", "pull " + dockerImageTag);

        qr = new QuickRun("docker.exe", "image ls --format {{.ID}} " + dockerImageTag);
        if (qr.stdout != dockerImageId)
        {
            Console.WriteLine("New grima available!");
        }
    }
コード例 #2
0
    private static string GetPort()
    {
        Console.WriteLine("Finding docker port");
        QuickRun qr = new QuickRun("docker.exe", "port grima");

        dockerInstalled = qr.ran;
        if (!dockerInstalled)
        {
            return("");
        }
        try {
            string addr = qr.stdout.Split(' ')[2];
            return(addr.Replace("0.0.0.0", "127.0.0.1")); // not currently needed, but fixes --publish-all
        } catch {
            return("");
        }
    }
コード例 #3
0
ファイル: QuickRunItem.cs プロジェクト: zpzhangwenhan/Quick
 public QuickRunItem(QuickRun parent, string progName, string fullpath)
 {
     m_progName = progName;
     m_fullpath = fullpath;
     m_parent   = parent;
 }
コード例 #4
0
    private static void HandleConfig(string file)
    {
        Console.WriteLine("Handling config from " + file);

        /**********************************************************************
         *
         *  Read config file, create if necessary, ask for values if necessary,
         *  save changed config if necessary.
         */
        Boolean  dirty = !System.IO.File.Exists(file);
        XElement doc   = dirty ? new XElement("grima") : XElement.Load(file);

        try { server = doc.Element("server").Value; } catch { }
        try { apikey = doc.Element("apikey").Value; } catch { }
        try { dockerImageId = doc.Element("dockerImageId").Value; } catch { }
        try { dockerImageTag = doc.Element("dockerImageTag").Value; } catch { }
        if (server == "")
        {
            Console.WriteLine("Asking for the Alma Server address (in a message box)");
            server = Microsoft.VisualBasic.Interaction.InputBox(
                "Enter your Alma Server's web address",
                "Alma Server",
                "https://api-na.hosted.exlibrisgroup.com");
            dirty = true;
        }
        if (apikey == "")
        {
            Console.WriteLine("Asking for the Alma API key (in a message box)");
            apikey = Microsoft.VisualBasic.Interaction.InputBox(
                "Enter your Alma API Key",
                "Alma API Key",
                "");
            dirty = true;
        }
        if (dockerImageTag == "")
        {
            Console.WriteLine("Asking which Docker Image to use (in a message box)");
            dockerImageTag = Microsoft.VisualBasic.Interaction.InputBox(
                "Which docker image should we get grima updates from?",
                "Docker Image Tag",
                "rdeiser/krima");
            dirty = true;
            if (dockerImageTag != "")
            {
                QuickRun qr = new QuickRun("docker.exe", "pull " + dockerImageTag);
            }
        }
        if (dockerImageId == "")
        {
            QuickRun qr = new QuickRun("docker.exe", "image ls --format {{.ID}} " + dockerImageTag);
            dockerImageId = qr.stdout;
            dirty         = true;
        }
        Console.WriteLine("Server: " + server);
        Console.WriteLine("APIKey: " + apikey);
        Console.WriteLine("Docker: " + dockerImageTag);
        Console.WriteLine("DockID: " + dockerImageId);
        if (dirty)
        {
            doc.SetElementValue("server", server);
            doc.SetElementValue("apikey", apikey);
            doc.SetElementValue("dockerImageTag", dockerImageTag);
            doc.SetElementValue("dockerImageId", dockerImageId);
            doc.Save(file);
        }
    }