示例#1
0
 public static string Download(MDXFile file)
 {
     CheckDir();
     WebClient client = new WebClient();
     string save = Path.Combine("data", file.type);
     if (!Directory.Exists(Path.Combine(save, file.apiid)))
     {
         Directory.CreateDirectory(Path.Combine(save, file.apiid));
         try
         {
             client.DownloadFile(file.GetFile(), Path.Combine(save, file.filename));
             client.DownloadFile(file.GetPreview(), Path.Combine(save, file.apiid, file.preview));
             client.DownloadFile(file.GetFullPreview(), Path.Combine(save, file.apiid, file.fullpreview));
         }
         catch (Exception e)
         {
             return "ERROR_DOWNLOADING Exception:" + e.Message;
         }
     }
     return save;
 }
示例#2
0
 public static List<MDXFilePair> UnpackAndGetFilePath(MDXFile file, bool filterBaseOnType = false)
 {
     string filePath = Download(file);
     //CATCH FILE ERROR
     if (filePath.Split(' ')[0] == "ERROR_DOWNLOADING")
         return null;
     //Check for existing file so no need to extract
     if (File.Exists(Path.Combine(filePath, file.filename)))
     {
         //Extract if zip
         if (Path.GetExtension(file.filename) == ".zip")
         {
             ZipFile.ExtractToDirectory(Path.Combine(filePath, file.filename), Path.Combine(filePath, file.apiid));
             File.Delete(Path.Combine(filePath, file.filename));
         }
         else
         {
             File.Move(Path.Combine(filePath, file.filename), Path.Combine(filePath, file.apiid, file.filename));
         }
     }
     filePath = Path.Combine(filePath, file.apiid);
     DirectoryInfo FileDirectory = new DirectoryInfo(filePath);
     List<MDXFilePair> ReturnFiles = new List<MDXFilePair>();
     if (filterBaseOnType)
     {
     }
     else
     {
         IEnumerable<FileInfo> FilesFound = GetFilesByExtensions(FileDirectory, SupportedFile);
         foreach (FileInfo f in FilesFound)
         {
             if(f.Extension == ".pmd")
                 ReturnFiles.Add(new MDXFilePair(f.FullName, MDXType.PMD));
             if ((f.Extension == ".pmd") && file.type == "accessory")
                 ReturnFiles.Add(new MDXFilePair(f.FullName, MDXType.PMDA));
             if (f.Extension == ".pmx")
                 ReturnFiles.Add(new MDXFilePair(f.FullName, MDXType.PMX));
             if (f.Extension == ".vmd")
                 ReturnFiles.Add(new MDXFilePair(f.FullName, MDXType.VMD));
             if (f.Extension == ".vpd")
                 ReturnFiles.Add(new MDXFilePair(f.FullName, MDXType.VPD));
         }
     }
     return ReturnFiles;
 }