public bool Execute(IEnumerable <string> arguments, IOptionParser options) { foreach (var argument in _filePathExtractor.FromFilePatterns(arguments, false)) { _consoleWriter.WriteLine($"File: {argument}"); if (FileType(argument) is { } fileType) { _consoleWriter.WriteLine($"Category : {fileType.Category}"); _consoleWriter.WriteLine($"Name : {fileType.Name}"); _consoleWriter.WriteLine($"Extension: {string.Join(",", fileType.Extensions)}"); }
public bool Execute(IEnumerable <string> arguments, IOptionParser options) { foreach (var filePath in _filePathExtractor.FromFilePatterns(arguments, false)) { IEnumerable <Directory> directories = ReadMetadata(filePath); foreach (var directory in directories) { foreach (var tag in directory.Tags) { _consoleWriter.WriteLine($"{directory.Name} - {tag.Name} ({tag.Type}) = {tag.Description}"); } } } return(true); }
public async Task ExecuteAsync(IEnumerable <string> lazyArguments, IOptionParser options) { var arguments = lazyArguments.ToList(); var tags = arguments.Where(a => a.IsTag()).ToList(); var files = arguments.Where(IsFile); foreach (var file in _filePathExtractor.FromFilePatterns(files, options.HasOption <RecursiveOption>()).Select(FileFromPath)) { if (tags.Count == 0) { _file.Store(file); } else { await TagFile(tags, file); } } }
public bool Execute(IEnumerable <string> arguments, IOptionParser options) { var tags = arguments.Where(a => a.IsTag()); var files = arguments.Where(IsFile); foreach (var file in _filePathExtractor.FromFilePatterns(files, options.HasOption <RecursiveOption>()).Select(FileFromPath)) { foreach (var tag in tags.Select(_tagParser.Parse)) { if (tag != null) { _logger.LogInformation($"File {file.Path} tagged with {tag.Name}"); file.Untag(tag); } } } return(true); }
public bool Execute(IEnumerable <string> arguments, IOptionParser options) { foreach (var filePath in _filePathExtractor.FromFilePatterns(arguments, options.HasOption <RecursiveOption>())) { _consoleWriter.WriteLine(); _consoleWriter.WriteLine($"File: {filePath}"); var file = _newFile(); file.LoadByPathFromDb(filePath); if (file.Hash == null) { _consoleWriter.WriteLine("File not in index!"); } else { _consoleWriter.WriteLine($"CreatedAt (oldest): {file.CreatedAt}"); _consoleWriter.WriteLine($"File Size: {file.Size}"); _consoleWriter.WriteLine($"File Hash: {file.Hash.Result}"); foreach (var tag in file.GetTags().Result) { _consoleWriter.WriteLine($"Tag: {tag.FullName}"); } foreach (var name in file.GetNames().Result) { _consoleWriter.WriteLine($"Name: {name}"); } foreach (var path in file.GetPaths().Result) { _consoleWriter.WriteLine($"Path: {path}"); } } } return(true); }