Browse Source

Formatting

pull/32/head
Anairkoen Schno 4 years ago
parent
commit
5d79c725ef
1 changed files with 1 additions and 34 deletions
  1. +1
    -34
      IPA.Loader/Loader/LibLoader.cs

+ 1
- 34
IPA.Loader/Loader/LibLoader.cs View File

@ -93,24 +93,17 @@ namespace IPA.Loader
Console.WriteLine($"[{lvl}] {message}");
}
private static void AssemblyLibLoaderCallLogger(Logger.Level lvl, string message)
{
Logger.libLoader.Log(lvl, message);
}
private static void AssemblyLibLoaderCallLogger(Logger.Level lvl, string message) => Logger.libLoader.Log(lvl, message);
// https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-iterate-through-a-directory-tree
private static IEnumerable<FileInfo> TraverseTree(string root, Func<string, bool> dirValidator = null)
{
if (dirValidator == null) dirValidator = s => true;
// Data structure to hold names of subfolders to be
// examined for files.
Stack<string> dirs = new Stack<string>(32);
if (!Directory.Exists(root))
{
throw new ArgumentException();
}
dirs.Push(root);
while (dirs.Count > 0)
@ -121,23 +114,12 @@ namespace IPA.Loader
{
subDirs = Directory.GetDirectories(currentDir);
}
// An UnauthorizedAccessException exception will be thrown if we do not have
// discovery permission on a folder or file. It may or may not be acceptable
// to ignore the exception and continue enumerating the remaining files and
// folders. It is also possible (but unlikely) that a DirectoryNotFound exception
// will be raised. This will happen if currentDir has been deleted by
// another application or thread after our call to Directory.Exists. The
// choice of which exceptions to catch depends entirely on the specific task
// you are intending to perform and also on how much you know with certainty
// about the systems on which this code will run.
catch (UnauthorizedAccessException)
{
//Console.WriteLine(e.Message);
continue;
}
catch (DirectoryNotFoundException)
{
//Console.WriteLine(e.Message);
continue;
}
@ -146,42 +128,27 @@ namespace IPA.Loader
{
files = Directory.GetFiles(currentDir);
}
catch (UnauthorizedAccessException)
{
//Console.WriteLine(e.Message);
continue;
}
catch (DirectoryNotFoundException)
{
//Console.WriteLine(e.Message);
continue;
}
// Push the subdirectories onto the stack for traversal.
// This could also be done before handing the files.
foreach (string str in subDirs)
if (dirValidator(str)) dirs.Push(str);
// Perform the required action on each file here.
// Modify this block to perform your required task.
foreach (string file in files)
{
FileInfo nextValue;
try
{
// Perform whatever action is required in your scenario.
nextValue = new FileInfo(file);
//Console.WriteLine("{0}: {1}, {2}", fi.Name, fi.Length, fi.CreationTime);
}
catch (FileNotFoundException)
{
// If file was deleted by a separate application
// or thread since the call to TraverseTree()
// then just continue.
//Console.WriteLine(e.Message);
continue;
}


Loading…
Cancel
Save