/// <summary>Find all languages based on a file system search</summary> /// <returns>An array of languages found</returns> public static string[] FindKnownLanguages() { DetailLog("Finding known languages ...", ConsoleColor.Blue); List <string> KnownLanguages = new List <string>(); DirectoryInfo DirInfo = new DirectoryInfo(Path.Combine(Options.Source, "Engine/Content/Localization")); if (DirInfo.Exists) { foreach (DirectoryInfo SubDirInfo in DirInfo.GetDirectories("???")) { if (SubDirInfo.GetFiles(Path.ChangeExtension("Core", SubDirInfo.Name)).Length == 0) { continue; } string KnownLanguage = SubDirInfo.Name.ToUpper(); KnownLanguages.Add(KnownLanguage); DetailLog(" ... adding known language: " + KnownLanguage, ConsoleColor.Blue); } } if (!KnownLanguages.Contains("INT")) { KnownLanguages.Add("INT"); DetailLog(" ... INT not found; adding INT to known languages ", ConsoleColor.Blue); } return(KnownLanguages.ToArray()); }
/// <summary> /// Tidy up the landing zone folder /// </summary> public void CleanLandingZone() { var DirInfo = new DirectoryInfo(LandingZone); foreach (var SubDirInfo in DirInfo.GetDirectories()) { if (SubDirInfo.LastWriteTimeUtc.AddDays(Properties.Settings.Default.DaysToSunsetReport) < DateTime.UtcNow) { SubDirInfo.Delete(true); } } }
/// <summary> /// Tidy up the landing zone folder /// </summary> public void CleanLandingZone() { var DirInfo = new DirectoryInfo(LandingZone); foreach (var SubDirInfo in DirInfo.GetDirectories()) { if (SubDirInfo.LastWriteTimeUtc.AddDays(Config.Default.DeleteWaitingReportsDays) < DateTime.UtcNow) { SubDirInfo.Delete(true); } } }
static public List <string> LocateGames(string BranchRoot) { // Create a container to list the valid games List <string> ValidGames = new List <string>(); // Find all potential game folders DirectoryInfo DirInfo = new DirectoryInfo(BranchRoot); if (DirInfo.Exists) { // Iterate over the potentials foreach (DirectoryInfo SubDirInfo in DirInfo.GetDirectories("*Game")) { // Check for an uncooked game DirectoryInfo[] ConfigDirInfo = SubDirInfo.GetDirectories("config"); DirectoryInfo[] ContentDirInfo = SubDirInfo.GetDirectories("content"); DirectoryInfo[] ScriptDirInfo = SubDirInfo.GetDirectories("script"); if (ConfigDirInfo.Length > 0 && ContentDirInfo.Length > 0 && ScriptDirInfo.Length > 0) { string GameName = SubDirInfo.Name.Substring(0, SubDirInfo.Name.Length - "Game".Length); ValidGames.Add(GameName); } else { // Check for a cooked game DirectoryInfo[] CookedDirInfo = SubDirInfo.GetDirectories("cooked*"); FileInfo[] TocInfo = SubDirInfo.GetFiles("*.txt"); if (CookedDirInfo.Length > 0) { if (TocInfo.Length > 0) { string GameName = SubDirInfo.Name.Substring(0, SubDirInfo.Name.Length - "Game".Length); ValidGames.Add(GameName); } } } } } return(ValidGames); }