Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            if (args.Length < 2) {
                Console.WriteLine ("Usage: download_bot url start[;end[;step]] [output dir]");
                return;
            }

            string url = args [0];
            string [] range = args [1].Split (';');

            bool hasEnd  = range.Length > 1;
            bool hasStep = range.Length > 2;

            DateTime dateStart;
            DateTime dateEnd;

            TimeSpan timeStep = TimeSpan.FromDays (1.0);

            long start = 0;
            long end   = -1;
            int step   = 1;

            bool isDate = DateTime.TryParse (range [0], out dateStart);

            if (isDate && hasEnd) {
                isDate = DateTime.TryParse (range [1], out dateEnd);
            }

            if (isDate) {
                if (!hasStep || !TimeSpan.TryParse (range [2], out timeStep))
                    timeStep = TimeSpan.FromDays (1.0);
            } else {
                if (!long.TryParse (range [0], out start)) {
                    Console.WriteLine ("Invalid range format {0}, use numbers or date", range [0]);
                    return;
                }

                if (hasEnd)
                    hasEnd = long.TryParse (range [1], out end);

                if (!hasStep || int.TryParse (range [2], out step))
                    step = 1;
            }

            string dir;

            if (args.Length > 2)
                dir = args [2];
            else
                dir = Directory.GetCurrentDirectory ();

            var mc = new Downloader (dir);

            if (isDate)
                mc.DownloadFilesInDateRange (url, dateStart, dateEnd, timeStep, hasEnd);
            else
                mc.DownloadFilesInRange (url, start, end, step, hasEnd);
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Console.WriteLine("Usage: download_bot url start[;end[;step]] [output dir]");
                return;
            }

            string url = args [0];

            string [] range = args [1].Split(';');

            bool hasEnd  = range.Length > 1;
            bool hasStep = range.Length > 2;

            DateTime dateStart;
            DateTime dateEnd;

            TimeSpan timeStep = TimeSpan.FromDays(1.0);

            long start = 0;
            long end   = -1;
            int  step  = 1;

            bool isDate = DateTime.TryParse(range [0], out dateStart);

            if (isDate && hasEnd)
            {
                isDate = DateTime.TryParse(range [1], out dateEnd);
            }

            if (isDate)
            {
                if (!hasStep || !TimeSpan.TryParse(range [2], out timeStep))
                {
                    timeStep = TimeSpan.FromDays(1.0);
                }
            }
            else
            {
                if (!long.TryParse(range [0], out start))
                {
                    Console.WriteLine("Invalid range format {0}, use numbers or date", range [0]);
                    return;
                }

                if (hasEnd)
                {
                    hasEnd = long.TryParse(range [1], out end);
                }

                if (!hasStep || int.TryParse(range [2], out step))
                {
                    step = 1;
                }
            }

            string dir;

            if (args.Length > 2)
            {
                dir = args [2];
            }
            else
            {
                dir = Directory.GetCurrentDirectory();
            }

            var mc = new Downloader(dir);

            if (isDate)
            {
                mc.DownloadFilesInDateRange(url, dateStart, dateEnd, timeStep, hasEnd);
            }
            else
            {
                mc.DownloadFilesInRange(url, start, end, step, hasEnd);
            }
        }