Initial commit: Add ShadowStream media application with file scanning and classification
This commit is contained in:
47
file finder test/Program.cs
Normal file
47
file finder test/Program.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
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 classifier = new FileClassifier();
|
||||
var (musicFiles, videoFiles) = await classifier.ClassifyFilesAsync(allFiles, musicExtensions, videoExtensions);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user