示例#1
0
        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);
 }
示例#3
0
        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);
        }
示例#5
0
        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);
        }