123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- using FNZCM2.Abstractions.Models.Metadata;
- using System;
- using System.Collections.Generic;
- using System.IO.Enumeration;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using FNZCM2.Abstractions.Utility;
- namespace FNZCM2.ProofOfConcept;
- using FSE = (bool isDir, string path, long size, DateTimeOffset lastWrited);
- internal class PocFileMetaReader
- {
- public static void RunPoc()
- {
- //var r1 = FileMetaReader.Read(ChooseFile("library-ajc", ".flac"), 0, out var err1);
- //var r2 = FileMetaReader.Read(FirstFile("library-ajc", ".log"), 0, out var err2);
- //var r3 = FileMetaReader.Read(FirstFile("library-ajc", ".txt"), 0, out var err3);
- //var r4 = FileMetaReader.Read(FirstFile("library-ajc", ".jpg"), 0, out var err4);
- //var r5 = FileMetaReader.Read(FirstFile("library-ajc", ".iso"), 0, out var err5);
- //var r6 = FileMetaReader.Read(FirstFile("library-ajc", ".mp4"), 0, out var err6);
- //var r7 = FileMetaReader.Read(FirstFile("library-ajc", ".png"), 0, out var err7);
- //var r1 = FileMetaReader.Read(FirstFile("library-ads", ".flac"), 0, out var err1);
- //var r7 = FileMetaReader.Read(FirstFile("library-ads", ".png"), 0, out var err7);
- //var r8 = FileMetaReader.Read(FirstFile("library-ads", ".mp3"), 0, out var err8);
- //var r4 = FileMetaReader.Read(FirstFile("library-ads", ".jpg"), 0, out var err4);
- //var r9 = FileMetaReader.Read(FirstFile("library-ads", ".tiff"), 0, out var err9);
- //var rA = FileMetaReader.Read(FirstFile("library-ads", ".pdf"), 0, out var errA);
- //var r2 = FileMetaReader.Read(FirstFile("library-ads", ".log"), 0, out var err2);
- //var r3 = FileMetaReader.Read(FirstFile("library-ads", ".m3u8"), 0, out var err3);
- //var r5 = FileMetaReader.Read(FirstFile("library-ads", ".gif"), 0, out var err5);
- //var r6 = FileMetaReader.Read(FirstFile("library-ads", ".accurip"), 0, out var err6);
- //var r1 = FileMetaReader.Read(FirstFile("library-afs", ".flac"), 0, out var err1);
- //var r5 = FileMetaReader.Read(FirstFile("library-afs", ".iso"), 0, out var err5);
- //var r7 = FileMetaReader.Read(FirstFile("library-afs", ".png"), 0, out var err7);
- //var r4 = FileMetaReader.Read(FirstFile("library-afs", ".jpg"), 0, out var err4);
- //var r8 = FileMetaReader.Read(FirstFile("library-afs", ".mdf"), 0, out var err8);
- //var r9 = FileMetaReader.Read(FirstFile("library-afs", ".mpg"), 0, out var err9);
- //var rA = FileMetaReader.Read(FirstFile("library-afs", ".bin"), 0, out var errA);
- //var rB = FileMetaReader.Read(FirstFile("library-afs", ".mp3"), 0, out var errB);
- //var r6 = FileMetaReader.Read(FirstFile("library-afs", ".fpl"), 0, out var err6);
- //var r2 = FileMetaReader.Read(FirstFile("library-afs", ".log"), 0, out var err2);
- //var r3 = FileMetaReader.Read(FirstFile("library-afs", ".mds"), 0, out var err3);
- foreach (var enumFile in EnumFiles("library-ads", ".flac", 3000, 0))
- {
- var rf = FileMetaReader.Read(enumFile, 0, out var errF);
- if (rf == null)
- {
- var bpF = 0;
- }
- }
- int bp = 0;
- }
- private static string ChooseFile(string folder, string endsWith, int skip = 0)
- {
- var fse = new FileSystemEnumerable<FSE>(
- folder,
- (ref FileSystemEntry p) => new(
- p.IsDirectory,
- p.ToFullPath(),
- p.Length,
- p.LastWriteTimeUtc
- ),
- new()
- {
- RecurseSubdirectories = true,
- })
- {
- ShouldIncludePredicate = (ref FileSystemEntry p) => p.ToFullPath().EndsWith(endsWith, true, null)
- };
- var file = fse.Skip(skip).First();
- return file.path;
- }
- private static IEnumerable<string> EnumFiles(string folder, string endsWith, int take = 1, int skip = 0)
- {
- var fse = new FileSystemEnumerable<FSE>(
- folder,
- (ref FileSystemEntry p) => new(
- p.IsDirectory,
- p.ToFullPath(),
- p.Length,
- p.LastWriteTimeUtc
- ),
- new()
- {
- RecurseSubdirectories = true,
- })
- {
- ShouldIncludePredicate = (ref FileSystemEntry p) => p.ToFullPath().EndsWith(endsWith, true, null)
- };
- foreach (var file in fse.Skip(skip).Take(take))
- {
- yield return file.path;
- }
- }
- }
|