Browse Source

Formatting

pull/32/head
Anairkoen Schno 5 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}"); 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 // 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) private static IEnumerable<FileInfo> TraverseTree(string root, Func<string, bool> dirValidator = null)
{ {
if (dirValidator == null) dirValidator = s => true; 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); Stack<string> dirs = new Stack<string>(32);
if (!Directory.Exists(root)) if (!Directory.Exists(root))
{
throw new ArgumentException(); throw new ArgumentException();
}
dirs.Push(root); dirs.Push(root);
while (dirs.Count > 0) while (dirs.Count > 0)
@ -121,23 +114,12 @@ namespace IPA.Loader
{ {
subDirs = Directory.GetDirectories(currentDir); 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) catch (UnauthorizedAccessException)
{ {
//Console.WriteLine(e.Message);
continue; continue;
} }
catch (DirectoryNotFoundException) catch (DirectoryNotFoundException)
{ {
//Console.WriteLine(e.Message);
continue; continue;
} }
@ -146,42 +128,27 @@ namespace IPA.Loader
{ {
files = Directory.GetFiles(currentDir); files = Directory.GetFiles(currentDir);
} }
catch (UnauthorizedAccessException) catch (UnauthorizedAccessException)
{ {
//Console.WriteLine(e.Message);
continue; continue;
} }
catch (DirectoryNotFoundException) catch (DirectoryNotFoundException)
{ {
//Console.WriteLine(e.Message);
continue; continue;
} }
// Push the subdirectories onto the stack for traversal.
// This could also be done before handing the files.
foreach (string str in subDirs) foreach (string str in subDirs)
if (dirValidator(str)) dirs.Push(str); 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) foreach (string file in files)
{ {
FileInfo nextValue; FileInfo nextValue;
try try
{ {
// Perform whatever action is required in your scenario.
nextValue = new FileInfo(file); nextValue = new FileInfo(file);
//Console.WriteLine("{0}: {1}, {2}", fi.Name, fi.Length, fi.CreationTime);
} }
catch (FileNotFoundException) 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; continue;
} }


Loading…
Cancel
Save