Exemple #1
0
        public static string get_file(string fname, string origin,
                                      bool untar            = false,
                                      string md5_hash       = null,
                                      string file_hash      = null,
                                      string cache_subdir   = "datasets",
                                      string hash_algorithm = "auto",
                                      bool extract          = false,
                                      string archive_format = "auto",
                                      string cache_dir      = null)
        {
            var datadir_base = cache_dir;

            Directory.CreateDirectory(datadir_base);

            var datadir = Path.Combine(datadir_base, cache_subdir);

            Directory.CreateDirectory(datadir);

            Web.Download(origin, datadir, fname);

            if (untar)
            {
                Compress.ExtractTGZ(Path.Combine(datadir_base, fname), datadir_base);
            }
            else if (extract)
            {
                Compress.ExtractGZip(Path.Combine(datadir_base, fname), datadir_base);
            }

            return(datadir);
        }
        public static string get_file(string fname, string origin,
                                      bool untar            = false,
                                      string md5_hash       = null,
                                      string file_hash      = null,
                                      string cache_subdir   = "datasets",
                                      string hash_algorithm = "auto",
                                      bool extract          = false,
                                      string archive_format = "auto",
                                      string cache_dir      = null)
        {
            if (string.IsNullOrEmpty(cache_dir))
            {
                cache_dir = Path.GetTempPath();
            }
            var datadir_base = cache_dir;

            Directory.CreateDirectory(datadir_base);

            var datadir = Path.Combine(datadir_base, cache_subdir);

            Directory.CreateDirectory(datadir);

            Web.Download(origin, datadir, fname);

            var archive = Path.Combine(datadir, fname);

            if (untar)
            {
                Compress.ExtractTGZ(archive, datadir);
            }
            else if (extract && fname.EndsWith(".gz"))
            {
                Compress.ExtractGZip(archive, datadir);
            }
            else if (extract && fname.EndsWith(".zip"))
            {
                Compress.UnZip(archive, datadir);
            }

            return(datadir);
        }