49 lines
1.9 KiB
C#
49 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace file_finder__test
|
|
{
|
|
class Program
|
|
{
|
|
static async Task Main(string[] args)
|
|
{
|
|
// Step 1: Scan for files
|
|
var scanner = new FileScanner(new[] { ".mp3", ".mp4", ".wav", ".mkv" });
|
|
List<string> drives = await scanner.ScanAllDrivesAsync();
|
|
Console.WriteLine($"Found {drives.Count} drives. press matchig key to continue.");
|
|
foreach (var file in drives)
|
|
Console.WriteLine($"{file}:");
|
|
List<string> allFiles = await scanner.ScanDriveParallel(Console.ReadLine().ToUpper()+":/");
|
|
|
|
// Step 2: Classify the files
|
|
var musicExtensions = new List<string> { ".mp3", ".wav" };
|
|
var videoExtensions = new List<string> { ".mp4", ".mkv" };
|
|
var photoExtensions = new List<string> { ".jpg", ".img" };
|
|
|
|
var classifier = new FileClassifier();
|
|
var (musicFiles, videoFiles,photoFiles) = await classifier.ClassifyFilesAsync(allFiles, musicExtensions, videoExtensions, photoExtensions);
|
|
Console.Clear();
|
|
// Step 3: Use the results (e.g. print)
|
|
//foreach (var music in musicFiles) Console.WriteLine(music);
|
|
//foreach (var video in videoFiles) Console.WriteLine(video);
|
|
Console.Clear();
|
|
// Step 4: Separate Series and Muvies
|
|
var separator = new VideoSeparator();
|
|
var (series, movies) = await separator.SeparateVideosAsync(videoFiles);
|
|
|
|
Console.WriteLine("Series:");
|
|
foreach (var s in series)
|
|
Console.WriteLine(s);
|
|
|
|
Console.WriteLine("\nMovies:");
|
|
foreach (var m in movies)
|
|
Console.WriteLine(m);
|
|
|
|
Console.WriteLine("\nMusic:");
|
|
foreach (var m in musicFiles)
|
|
Console.WriteLine(m);
|
|
}
|
|
}
|
|
}
|