示例#1
0
        // load a script directly from a URL
        static void RunUrlLink(string url)
        {
            var script = NetAccess.LoadUrlScript(url);

            if (script == null)
            {
                _output.WriteLine("*** invalid url path: '{0}'", url);
            }
            else
            {
                _output.WriteLine("Loading: '{0}'", script);
                RunScript(url, script, _inputs, _startlevel);
            }
        }
示例#2
0
        // load a script via URL query parameters
        static void RunUrlQuery(string url)
        {
            var args = NetAccess.ExtractUrlParameters(url);

            if (args.ContainsKey("u"))      // url
            {
                RunUrlLink(args["u"]);
            }
            else if (args.ContainsKey("w")) // web site
            {
                RunUrlLink(@"https://david-pfx.github.io/PuzzlangWeb/Puzzles/" + args["w"]);
            }
            else if (args.ContainsKey("p")) // local path
            {
                _output.WriteLine("Loading: '{0}'", args["p"]);
                RunScript(args["p"], ReadFile(args["p"]), _inputs, _startlevel);
            }
            else
            {
                _output.WriteLine("*** invalid url query: '{0}'", url);
            }
        }
示例#3
0
        static void RunGist(string gist)
        {
            var gistid = NetAccess.ExtractGist(gist);

            if (gistid == null)
            {
                _output.WriteLine("*** invalid gist id: '{0}'", gist);
            }
            else
            {
                _output.WriteLine("Loading gist: '{0}'", gistid);
                var script = NetAccess.LoadGist(gistid);
                if (script == null)
                {
                    _output.WriteLine("*** gist not found: '{0}'", gist);
                }
                else
                {
                    RunScript($"Gist: {_gist}", script, _inputs, _startlevel);
                }
            }
        }
示例#4
0
 static void RunGistConvert(string listname, string dir)
 {
     _output.WriteLine($"Converting gists: '{listname}' to '{dir}'");
     if (!Directory.Exists(dir))
     {
         Directory.CreateDirectory(dir);
     }
     foreach (var line in ReadLines(ReadFile(listname)))
     {
         var gistid = NetAccess.ExtractGist(line);
         if (gistid == null)
         {
             _output.WriteLine("*** invalid gist id: '{0}'", line);
         }
         else
         {
             var script  = NetAccess.LoadGist(gistid);
             var outpath = Path.Combine(dir, gistid + ".txt");
             using (var sw = new StreamWriter(outpath))
                 sw.Write(script);
         }
     }
 }