public static void FullScan() { var allFiles = WallpaperDirectory.GetFiles("*", SearchOption.AllDirectories); foreach (var currentFile in allFiles) { if (WallpaperFileHelper.IsImage(currentFile)) { if (!currentFile.Name.Contains("#o")) { _ = new Wallpaper(currentFile, WallpaperCreationMode.Scan); } } } Wallpapers.Sort(); }
public static List <Wallpaper> SortInNamedWorkingWallpapers() { var newWallpapers = new List <Wallpaper>(); var typeDirectories = WorkingDirectoryNamed.GetDirectories(); foreach (var currentTypeDirectory in typeDirectories) { var currentFiles = currentTypeDirectory.GetFiles("*", SearchOption.TopDirectoryOnly); foreach (var currentFile in currentFiles) //Go through the current type images { if (WallpaperFileHelper.IsImage(currentFile)) //Make sure they are an image { WallpaperFileHelper.FixImageExtension(currentFile); //not an original file if (!currentFile.Name.Contains("#o")) { Wallpaper newWallpaper; try { newWallpaper = new Wallpaper(currentFile, WallpaperCreationMode.New); } catch (WallpaperBuildExeption e) { if (e.UserAbortion) { continue; } else { throw e; } } //Move it to the right location newWallpaper.File.MoveTo(Path.Combine(WallpaperDirectory.FullName, newWallpaper.Franchise.Type.Name, $"{newWallpaper.Franchise.Name}#{newWallpaper.Index}{newWallpaper.File.Extension}")); if (!(newWallpaper.OriginalFile is null)) { newWallpaper.OriginalFile !.MoveTo(Path.Combine(OriginalWallpaperDirectory.FullName, newWallpaper.Franchise.Type.Name, $"{newWallpaper.Franchise.Name}#o{newWallpaper.Index}{newWallpaper.File.Extension}")); } newWallpapers.Add(newWallpaper); } } } //Now look for grouped images in franchise folders var currentTypeSubDirectories = currentTypeDirectory.GetDirectories(); foreach (var currentTypeSubDiretory in currentTypeSubDirectories) { var files = currentTypeSubDiretory.GetFiles("*", SearchOption.TopDirectoryOnly); foreach (var currentFile in files) { if (WallpaperFileHelper.IsImage(currentFile)) { WallpaperFileHelper.FixImageExtension(currentFile); //Check if this file is not an original. if (Regex.IsMatch(currentFile.Name, WallpaperManager.EditedFilesRegexString)) { Wallpaper newWallpaper; try { newWallpaper = new Wallpaper(currentFile, WallpaperCreationMode.NewInSubFolder); } catch (WallpaperBuildExeption e) { if (e.UserAbortion) { continue; } else { throw e; } } //Move it to the right location newWallpaper.File.MoveTo(Path.Combine(WallpaperDirectory.FullName, newWallpaper.Franchise.Type.Name, $"{newWallpaper.Franchise.Name}#{newWallpaper.Index}{newWallpaper.File.Extension}")); if (!(newWallpaper.OriginalFile is null)) { newWallpaper.OriginalFile !.MoveTo(Path.Combine(OriginalWallpaperDirectory.FullName, newWallpaper.Franchise.Type.Name, $"{newWallpaper.Franchise.Name}#o{newWallpaper.Index}{newWallpaper.File.Extension}")); } newWallpapers.Add(newWallpaper); } } } } } return(newWallpapers); }