Sha256: b9923ee22f2ab6eee87761c5ee64b8ddc2f49f2aa87c63d6535c7a6ef9c1d714

Contents?: true

Size: 1.95 KB

Versions: 13

Compression:

Stored size: 1.95 KB

Contents

# frozen_string_literal: true

require 'eac_cli/core_ext'
require 'ehbrs/videos/series/rename/file'
require 'ehbrs/videos/series/rename/file/options'
require 'ehbrs/videos/series/rename/results_builder'

module Ehbrs
  class Runner
    class Videos
      class Series
        class Rename
          include ::EacRubyUtils::Fs::Traversable

          runner_with :help do
            desc 'Renomeia arquivos de séries.'
            bool_opt '-r', '--recursive', 'Recursivo.'
            bool_opt '-c', '--confirm', 'Confirmação a renomeação.'
            arg_opt '-k', '--kernel', 'Determina o kernel para os nomes dos arquivos.'
            arg_opt '-E', '--extension', 'Substitui a extensão dos arquivos.'
            arg_opt '-e', '--episode-increment', 'Aumenta o número do episódio.'
            pos_arg 'paths', repeat: true, optional: true
          end

          def run
            banner
            show_results
            rename_files
          end

          def banner
            infov 'Paths', paths.count
            infov 'Files found', files.count
          end

          def files_uncached
            @files = []
            paths.each { |path| traverser_check_path(path) }
            @files
          end

          def paths
            parsed.paths.if_present(['.'])
          end

          def traverser_recursive
            parsed.recursive
          end

          def traverser_check_file(path)
            @files << ::Ehbrs::Videos::Series::Rename::File.new(path, series_file_options)
          end

          def series_file_options_uncached
            ::Ehbrs::Videos::Series::Rename::File::Options.new(parsed)
          end

          def show_results
            ::Ehbrs::Videos::Series::Rename::ResultsBuilder.new(files).show(0)
          end

          def rename_files
            return unless series_file_options.confirm

            infom 'Renaming files...'
            files.each(&:rename)
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ehbrs-tools-0.23.0 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.22.0 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.21.0 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.20.0 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.19.0 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.18.0 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.17.0 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.16.5 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.16.4 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.16.3 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.16.2 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.16.1 lib/ehbrs/runner/videos/series/rename.rb
ehbrs-tools-0.16.0 lib/ehbrs/runner/videos/series/rename.rb