Exemplo n.º 1
0
        public void TestEnumerateFilesWithSearchWithNoResults()
        {
            var files = Directory.EnumerateFiles(uncDirectory, "giberish").ToArray();

            Assert.AreEqual(0, files.Length);
            Assert.IsFalse(files.Contains(uncFilePath));
        }
Exemplo n.º 2
0
        //static void Unmount()
        //{
        //	Console.WriteLine("Unmounting G:");
        //	StartProcess(@"C:\Program Files\PowerISO\piso.exe", "unmount G:");
        //}

        public static void CategorizeLibraryFolders()
        {
            var folders = Directory.EnumerateDirectories(Paths.OutputPath, "*", SearchOption.TopDirectoryOnly);

            foreach (var folder in folders)
            {
                if (Path.GetFileName(folder) == "_Kontakt" || Path.GetFileName(folder) == "_Loops")
                {
                    continue;
                }
                var files = Directory.EnumerateFiles(folder, "*.nki", SearchOption.AllDirectories).ToArray();
                if (files.Length > 0)
                {
                    Directory.Move(folder, Paths.OutputPath + @"\_Kontakt\" + Path.GetFileName(folder));
                }
                else
                {
                    files = Directory.EnumerateFiles(folder, "*.iso", SearchOption.AllDirectories).ToArray();
                    files = files.Concat(Directory.EnumerateFiles(folder, "*.bin", SearchOption.AllDirectories)).ToArray();
                    if (files.Length > 0)
                    {
                        Directory.Move(folder, Paths.OutputPath + @"\_Iso\" + Path.GetFileName(folder));
                    }
                    else
                    {
                        Directory.Move(folder, Paths.OutputPath + @"\_Loops\" + Path.GetFileName(folder));
                    }
                }
            }
        }
Exemplo n.º 3
0
        public void TestEnumerateFilesWithSearch()
        {
            var files = Directory.EnumerateFiles(uncDirectory, "*").ToArray();

            Assert.AreEqual(1, files.Length);
            Assert.IsTrue(files.Contains(uncFilePath));
        }
Exemplo n.º 4
0
        public static void ProcessIsos()
        {
            var files = Directory.EnumerateFiles(Paths.OutputPath, "*.iso", SearchOption.AllDirectories).Concat(Directory.EnumerateFiles(Paths.OutputPath, "*.bin", SearchOption.AllDirectories));

            //var files = Directory.EnumerateFiles(Paths.OutputPath, "*.bin", SearchOption.AllDirectories);
            foreach (var file in files)
            {
                Console.WriteLine("Mounting {0} => D:", file);
                if (StartProcess(@"C:\Program Files\PowerISO\piso.exe", $"mount \"{file}\" D:") >= 0)
                {
                    var destPath = Path.GetDirectoryName(file) + @"\" + Path.GetFileNameWithoutExtension(file) + @"\";
                    CopyFiles("D:", destPath, false);
                }
            }
        }
Exemplo n.º 5
0
        static void ProcessFolder(string rootPath, string baseFolder, string destFolder, bool canMove, bool preservePaths, string extraPath = "")
        {
            var folder = baseFolder;
            var files  = Directory.EnumerateFiles(folder, "*").Where(f => Path.GetExtension(f) != ".txt" && Path.GetExtension(f) != ".nfo" && Path.GetExtension(f) != ".sfv").ToArray();

            while (!preservePaths)              // Not a true while, preserve paths does not change.
            {
                var subFolders = Directory.EnumerateDirectories(folder).ToArray();
                if (files.Length == 0 && subFolders.Length == 1)
                {
                    folder = subFolders[0];
                }
                else
                {
                    break;
                }
                files = Directory.EnumerateFiles(folder, "*").Where(f => Path.GetExtension(f) != ".txt" && Path.GetExtension(f) != ".nfo" && Path.GetExtension(f) != ".sfv").ToArray();
            }

            //files = Directory.EnumerateFiles(folder, "*", SearchOption.AllDirectories).ToArray();
            var archiveFiles = GetArchiveFiles(files);

            archiveFiles.ForEach(archive => ProcessArchive(rootPath, Path.GetDirectoryName(archive), archive, files, destFolder));

            var names = folder.Substring(rootPath.Length).Split(Path.DirectorySeparatorChar);
            var name  = names.FirstOrDefault(n => Regex.IsMatch(n, "KONTAKT", RegexOptions.IgnoreCase)) ?? names[0];

            //if ((folder + "\\").StartsWith(string.Format("{0}\\{1}\\", baseFolder, name)))
            //	name = "";
            //name = Regex.Replace(name, @"\.(rar|r00|zip|iso)$", "", RegexOptions.IgnoreCase);
            name = Regex.Replace(name, @"\.(rar|r00|zip)$", "", RegexOptions.IgnoreCase);
            name = Regex.Replace(name, @"\.part1", "", RegexOptions.IgnoreCase);
            name = Regex.Replace(name, @"\.part01", "", RegexOptions.IgnoreCase);
            name = Regex.Replace(name, "-", " ");
            name = Regex.Replace(name, @"([a-z ])\.+([\w ])", "$1 $2", RegexOptions.IgnoreCase);                // Remove dots but leave those that are between digits.
            name = Regex.Replace(name, @"([\w ])\.+([a-z ])", "$1 $2", RegexOptions.IgnoreCase);
            name = Regex.Replace(name, @"\b(HYBRID|DYNAMiCS|PROPER|VSTi|RTAS|CHAOS|AMPLiFY|AU|MATRiX|DVDR|WAV|AiR|ArCADE|VR|CDDA|PAD|MiDi|CoBaLT|DiSCOVER)\b", "");
            name = Regex.Replace(name, @"\b(WareZ Audio info|Kontakt|Audiostrike|SYNTHiC4TE|AUDIOXiMiK|MAGNETRiXX|TZ7iSO|KLI|DVDriSO|DVD9|KRock|ACiD|REX|RMX|SynthX|AiFF|Apple Loops|AiRISO|MULTiFORMAT|AudioP2P|GHOSTiSO|REX2|DXi|HYBRiD|AKAI|ALFiSO)\b", "", RegexOptions.IgnoreCase);
            //name = Regex.Replace(name, "(HYBRID|DYNAMiCS|PROPER|VSTi|RTAS|CHAOS|AMPLiFY| AU |MATRiX)", "");
            //name = Regex.Replace(name, "(WareZ Audio info|Kontakt|Audiostrike|SYNTHiC4TE|AUDIOXiMiK||MAGNETRiXX)", "", RegexOptions.IgnoreCase);
            name = Regex.Replace(name, @"  +", " ");
            name = name.Trim(' ', '-');
            var destPath = $"{destFolder}\\{name}{extraPath}";

            CopyFiles(folder, destPath, canMove, false);
        }
Exemplo n.º 6
0
 static void CopyFiles(string source, string dest, bool move, bool includeArchives = true)
 {
     if (move)
     {
         MarkFolderWritable(source);
     }
     MarkFolderWritable(dest);
     Console.WriteLine("{0} {1} => {2}", move ? "Moving" : "Copying", source, dest);
     source = source.TrimEnd('\\');
     dest   = dest.TrimEnd('\\');
     if (!Directory.Exists(dest))
     {
         Directory.CreateDirectory(dest);
     }
     Directory.EnumerateDirectories(source, "*", SearchOption.AllDirectories).Select(d => d.Replace(source, dest)).ForEach(path => Directory.CreateDirectory(path));
     foreach (var file in Directory.EnumerateFiles(source, "*", SearchOption.AllDirectories).Where(f => Path.GetExtension(f) != ".nfo" && !Regex.IsMatch(Path.GetFileName(f), "All.Collection.Upload|WareZ-Audio", RegexOptions.IgnoreCase)).ToArray())
     {
         if (Path.GetExtension(file) == ".sfv")
         {
             continue;
         }
         //if (!includeArchives && Regex.IsMatch(Path.GetExtension(file), @"\.(rar|r\d+|zip|iso)"))
         if (!includeArchives && Path.GetDirectoryName(file) == source && Regex.IsMatch(Path.GetExtension(file), @"\.(rar|r\d+|zip)"))
         {
             continue;
         }
         var newFile = file.Replace(source, dest);
         if (move)
         {
             if (File.Exists(newFile))
             {
                 File.Delete(newFile);
             }
             File.Move(file, newFile);
         }
         else
         {
             File.Copy(file, newFile, true);
         }
     }
 }
Exemplo n.º 7
0
        public void TestEnumerateFilesRecursiveWithSearchWithNoResults()
        {
            var tempLongPathFilename = Path.Combine(uncDirectory, Path.GetRandomFileName());

            Directory.CreateDirectory(tempLongPathFilename);
            try
            {
                Assert.IsTrue(Directory.Exists(tempLongPathFilename));
                var randomFileName = Util.CreateNewEmptyFile(tempLongPathFilename);

                var files = Directory.EnumerateFiles(uncDirectory, "gibberish", SearchOption.AllDirectories).ToArray();
                Assert.AreEqual(0, files.Length);
                Assert.IsFalse(files.Contains(uncFilePath));
                Assert.IsFalse(files.Contains(randomFileName));
            }
            finally
            {
                const bool recursive = true;
                Directory.Delete(tempLongPathFilename, recursive);
            }
        }
Exemplo n.º 8
0
        public static void InstallLibs()
        {
            // Unmount();
            var files    = Directory.EnumerateFiles(Paths.ToProcessPath, "*").ToArray();
            var archives = GetArchiveFiles(files);

            foreach (var archive in archives)
            {
                CleanupTempFolders();
                try
                {
                    Console.Write("Processing {0}\r\n", archive);
                    ProcessArchive(Paths.ToProcessPath, Paths.ToProcessPath, archive, files, Paths.OutputPath);
                    var associatedArchives = GetAssociatedArchives(archive, files);
                    foreach (var file in associatedArchives)
                    {
                        Directory.Move(file, file.Replace(Paths.ToProcessPath, Paths.ProcessedPath));
                    }
                    Console.WriteLine("Successfully processed {0}", archive);
                }
                catch (Exception e)
                {
                    foreach (var key in e.Data.Keys)
                    {
                        Console.WriteLine(e.Data[key] + ": " + key);
                    }
                    Console.Write(e.Message);
                    Console.WriteLine("Errors while processing {0}", archive);
                    foreach (var file in GetAssociatedArchives(archive, files))
                    {
                        Directory.Move(file, Paths.ToProcessPath + @"\_Broken\" + Path.GetFileName(file));
                    }
                }
                finally
                {
                    Console.WriteLine();
                    CleanupTempFolders();
                }
            }
        }
Exemplo n.º 9
0
 public static IEnumerable <string> EnumerateFiles(string path, string searchPattern, SearchOption options)
 {
     return(Directory.EnumerateFiles(path, searchPattern, options));
 }
Exemplo n.º 10
0
 public static IEnumerable <string> EnumerateFiles(string path, string searchPattern)
 {
     return(Directory.EnumerateFiles(path, searchPattern));
 }
Exemplo n.º 11
0
 public static IEnumerable <string> EnumerateFiles(string path)
 {
     return(Directory.EnumerateFiles(path));
 }