ehbrs-tools 0.15.0 → 0.16.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ehbrs/runner.rb +4 -7
- data/lib/ehbrs/runner/finances.rb +4 -7
- data/lib/ehbrs/runner/finances/bb_browser.rb +5 -10
- data/lib/ehbrs/runner/fs.rb +4 -7
- data/lib/ehbrs/runner/fs/used_space.rb +4 -5
- data/lib/ehbrs/runner/google.rb +4 -7
- data/lib/ehbrs/runner/google/translate.rb +7 -12
- data/lib/ehbrs/runner/self.rb +4 -7
- data/lib/ehbrs/runner/self/test.rb +5 -10
- data/lib/ehbrs/runner/vg.rb +4 -7
- data/lib/ehbrs/runner/vg/ips.rb +9 -14
- data/lib/ehbrs/runner/vg/wii.rb +10 -13
- data/lib/ehbrs/runner/videos.rb +3 -5
- data/lib/ehbrs/runner/videos/extract.rb +10 -13
- data/lib/ehbrs/runner/videos/probe.rb +6 -9
- data/lib/ehbrs/runner/videos/series.rb +5 -8
- data/lib/ehbrs/runner/videos/series/rename.rb +9 -12
- data/lib/ehbrs/runner/videos/unsupported.rb +9 -13
- data/lib/ehbrs/runner/web_utils.rb +5 -7
- data/lib/ehbrs/runner/web_utils/videos.rb +4 -6
- data/lib/ehbrs/runner/web_utils/videos/download.rb +8 -11
- data/lib/ehbrs/runner/web_utils/videos/upload.rb +8 -11
- data/lib/ehbrs/tools/version.rb +1 -1
- data/lib/ehbrs/vg/wii/wit/parsers/dump.rb +10 -5
- data/lib/ehbrs/videos/file.rb +4 -8
- data/lib/ehbrs/videos/series/rename/file/options.rb +3 -13
- data/lib/ehbrs/videos/track.rb +20 -10
- data/lib/ehbrs/videos/unsupported/checks/codec_extra_unlisted.rb +2 -0
- data/lib/ehbrs/videos/unsupported/checks/codec_extra_unsupported.rb +2 -0
- data/lib/ehbrs/videos/unsupported/checks/codec_unlisted.rb +2 -0
- data/lib/ehbrs/videos/unsupported/checks/codec_unsupported.rb +2 -0
- data/lib/ehbrs/videos/unsupported/checks/invalid_extension.rb +2 -0
- data/lib/ehbrs/videos/unsupported/fixes/supported_codec.rb +1 -1
- data/lib/ehbrs/videos/unsupported/profiles/base.rb +17 -3
- data/lib/ehbrs/videos/unsupported/profiles/philco.rb +5 -4
- data/vendor/aranha-parsers/Gemfile +5 -0
- data/vendor/aranha-parsers/aranha-parsers.gemspec +23 -0
- data/vendor/aranha-parsers/lib/aranha/parsers.rb +9 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/base.rb +79 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/html.rb +11 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/html/base.rb +47 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/html/item.rb +24 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/html/item_list.rb +29 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/html/node.rb +13 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/html/node/base.rb +36 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/html/node/default.rb +126 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/invalid_state_exception.rb +8 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/patches.rb +11 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/patches/ofx_parser.rb +38 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/source_address.rb +55 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/source_address/file.rb +31 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_get.rb +25 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_post.rb +45 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/source_address/http_get.rb +49 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/source_target_fixtures.rb +77 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/spec/source_target_fixtures_example.rb +78 -0
- data/vendor/aranha-parsers/lib/aranha/parsers/version.rb +7 -0
- data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_address/http_get_spec.rb +21 -0
- data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_address_spec.rb +74 -0
- data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec.rb +27 -0
- data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.source.txt +1 -0
- data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.target.html +1 -0
- data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub2.source.html +1 -0
- data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub3.target.yaml +1 -0
- data/vendor/aranha-parsers/spec/lib/rubocop_check_spec.rb +7 -0
- data/vendor/aranha-parsers/spec/spec_helper.rb +8 -0
- data/vendor/eac_cli/eac_cli.gemspec +1 -1
- data/vendor/eac_cli/lib/eac_cli/definition.rb +49 -22
- data/vendor/eac_cli/lib/eac_cli/definition/alternative.rb +83 -0
- data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +17 -1
- data/vendor/eac_cli/lib/eac_cli/{parser/options_collection.rb → definition/help_formatter.rb} +20 -49
- data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +21 -4
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +18 -40
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb +50 -0
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +1 -0
- data/vendor/eac_cli/lib/eac_cli/parser.rb +23 -3
- data/vendor/eac_cli/lib/eac_cli/parser/alternative.rb +92 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/argv.rb +17 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +24 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/options.rb +58 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +30 -0
- data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +4 -0
- data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +2 -1
- data/vendor/eac_cli/lib/eac_cli/runner.rb +17 -5
- data/vendor/eac_cli/lib/eac_cli/runner/context.rb +19 -2
- data/vendor/eac_cli/lib/eac_cli/runner/exit.rb +13 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +18 -1
- data/vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb +5 -1
- data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +101 -0
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +14 -0
- data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +35 -0
- data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +140 -0
- data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +59 -39
- data/vendor/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +42 -0
- data/vendor/eac_cli/spec/lib/eac_cli/runner_with/output_file_spec.rb +53 -0
- data/vendor/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +85 -0
- data/vendor/eac_docker/lib/eac_docker/container.rb +24 -0
- data/vendor/eac_docker/lib/eac_docker/images/coded.rb +39 -0
- data/vendor/eac_docker/lib/eac_docker/images/templatized.rb +26 -0
- data/vendor/eac_docker/lib/eac_docker/registry.rb +17 -0
- data/vendor/eac_docker/lib/eac_docker/version.rb +1 -1
- data/vendor/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +12 -0
- data/vendor/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +1 -0
- data/vendor/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +17 -0
- data/vendor/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +1 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/abstract_methods.rb +60 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +19 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +2 -50
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/class_setup.rb +52 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb +31 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +53 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/base.rb +43 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/file.rb +12 -31
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb +7 -104
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/entry_reader.rb +81 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/password_entry_reader.rb +18 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/read_entry_options.rb +46 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb +27 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +4 -6
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command/concat.rb +33 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command/envvars.rb +24 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +0 -21
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +57 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +4 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +9 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +14 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb +10 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +17 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb +21 -58
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb +8 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb +67 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/path_search.rb +39 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +2 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +11 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +3 -2
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/abstract_methods_spec.rb +28 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +16 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb +30 -17
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb +66 -8
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb +15 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +26 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +32 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/paths_hash_spec.rb +52 -13
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +12 -1
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/version.rb +1 -1
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container.rb +30 -2
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/convert_job.rb +91 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/stream.rb +51 -0
- metadata +108 -13
- data/vendor/eac_cli/lib/eac_cli/parser/parse_result.rb +0 -21
- data/vendor/eac_cli/lib/eac_cli/parser/positional_collection.rb +0 -49
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/file.rb +0 -31
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/info.rb +0 -21
@@ -1,17 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_cli/core_ext'
|
4
|
-
require '
|
5
|
-
require 'ehbrs_ruby_utils/videos/container/file'
|
4
|
+
require 'ehbrs_ruby_utils/videos/container'
|
6
5
|
require 'eac_ruby_utils/yaml'
|
7
6
|
|
8
7
|
module Ehbrs
|
9
|
-
class Runner
|
10
|
-
class Videos
|
8
|
+
class Runner
|
9
|
+
class Videos
|
11
10
|
class Probe
|
12
|
-
runner_with :output_file
|
13
|
-
|
14
|
-
runner_definition do
|
11
|
+
runner_with :help, :output_file do
|
15
12
|
desc 'FFProbe em um arquivo de vídeo.'
|
16
13
|
pos_arg :file_path
|
17
14
|
end
|
@@ -21,13 +18,13 @@ module Ehbrs
|
|
21
18
|
end
|
22
19
|
|
23
20
|
def output_content
|
24
|
-
::EacRubyUtils::Yaml.dump(container_file.
|
21
|
+
::EacRubyUtils::Yaml.dump(container_file.probe_data)
|
25
22
|
end
|
26
23
|
|
27
24
|
private
|
28
25
|
|
29
26
|
def container_file_uncached
|
30
|
-
::EhbrsRubyUtils::Videos::Container
|
27
|
+
::EhbrsRubyUtils::Videos::Container.new(parsed.file_path)
|
31
28
|
end
|
32
29
|
end
|
33
30
|
end
|
@@ -1,17 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_cli/
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
3
|
+
require 'eac_cli/core_ext'
|
6
4
|
|
7
5
|
module Ehbrs
|
8
|
-
class Runner
|
9
|
-
class Videos
|
10
|
-
class Series
|
11
|
-
include ::EacCli::DefaultRunner
|
6
|
+
class Runner
|
7
|
+
class Videos
|
8
|
+
class Series
|
12
9
|
require_sub __FILE__
|
13
10
|
|
14
|
-
|
11
|
+
runner_with :help, :subcommands do
|
15
12
|
desc 'Ferramentas para seriados.'
|
16
13
|
subcommands
|
17
14
|
end
|
@@ -1,21 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_cli/
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
3
|
+
require 'eac_cli/core_ext'
|
6
4
|
require 'ehbrs/videos/series/rename/file'
|
7
5
|
require 'ehbrs/videos/series/rename/file/options'
|
8
6
|
require 'ehbrs/videos/series/rename/results_builder'
|
9
7
|
|
10
8
|
module Ehbrs
|
11
|
-
class Runner
|
12
|
-
class Videos
|
13
|
-
class Series
|
14
|
-
class Rename
|
15
|
-
include ::EacCli::DefaultRunner
|
9
|
+
class Runner
|
10
|
+
class Videos
|
11
|
+
class Series
|
12
|
+
class Rename
|
16
13
|
include ::EacRubyUtils::Fs::Traversable
|
17
14
|
|
18
|
-
|
15
|
+
runner_with :help do
|
19
16
|
desc 'Renomeia arquivos de séries.'
|
20
17
|
bool_opt '-r', '--recursive', 'Recursivo.'
|
21
18
|
bool_opt '-c', '--confirm', 'Confirmação a renomeação.'
|
@@ -43,11 +40,11 @@ module Ehbrs
|
|
43
40
|
end
|
44
41
|
|
45
42
|
def paths
|
46
|
-
|
43
|
+
parsed.paths.if_present(['.'])
|
47
44
|
end
|
48
45
|
|
49
46
|
def traverser_recursive
|
50
|
-
|
47
|
+
parsed.recursive
|
51
48
|
end
|
52
49
|
|
53
50
|
def traverser_check_file(path)
|
@@ -55,7 +52,7 @@ module Ehbrs
|
|
55
52
|
end
|
56
53
|
|
57
54
|
def series_file_options_uncached
|
58
|
-
::Ehbrs::Videos::Series::Rename::File::Options.new(
|
55
|
+
::Ehbrs::Videos::Series::Rename::File::Options.new(parsed)
|
59
56
|
end
|
60
57
|
|
61
58
|
def show_results
|
@@ -1,21 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_cli/
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
3
|
+
require 'eac_cli/core_ext'
|
6
4
|
require 'ehbrs/videos/unsupported/check_set'
|
7
5
|
require 'ehbrs/videos/unsupported/search'
|
8
6
|
require 'ehbrs/videos/unsupported/profiles'
|
9
7
|
|
10
8
|
module Ehbrs
|
11
|
-
class Runner
|
12
|
-
class Videos
|
13
|
-
class Unsupported
|
14
|
-
include ::EacCli::DefaultRunner
|
15
|
-
|
9
|
+
class Runner
|
10
|
+
class Videos
|
11
|
+
class Unsupported
|
16
12
|
PROFILES = %w[philco samsung].freeze
|
17
13
|
|
18
|
-
|
14
|
+
runner_with :help do
|
19
15
|
desc 'Procura e converte vídeos não suportados pelas TVs de EHB/RS.'
|
20
16
|
bool_opt '-f', '--fix', 'Converte vídeos para o formato apropriado.'
|
21
17
|
arg_opt '-p', '--profiles', "Seleciona os perfis (#{PROFILES.join(', ')})."
|
@@ -41,17 +37,17 @@ module Ehbrs
|
|
41
37
|
end
|
42
38
|
|
43
39
|
def paths
|
44
|
-
|
40
|
+
parsed.paths
|
45
41
|
end
|
46
42
|
|
47
43
|
def file_options
|
48
44
|
{ file_check_set: file_check_set, track_check_set: track_check_set,
|
49
|
-
fix:
|
45
|
+
fix: parsed.fix? }
|
50
46
|
end
|
51
47
|
|
52
48
|
def profiles_uncached
|
53
|
-
|
54
|
-
|
49
|
+
parsed.profiles.if_present(PROFILES) { |v| v.split(',').map(&:strip) }
|
50
|
+
.map { |name| profile_class(name).instance }
|
55
51
|
end
|
56
52
|
|
57
53
|
def profile_class(profile_name)
|
@@ -1,25 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_cli/core_ext'
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
5
4
|
require 'ehbrs_ruby_utils/web_utils/instance'
|
6
5
|
|
7
6
|
module Ehbrs
|
8
|
-
class Runner
|
9
|
-
class WebUtils
|
10
|
-
runner_with
|
7
|
+
class Runner
|
8
|
+
class WebUtils
|
11
9
|
require_sub __FILE__
|
12
10
|
|
13
|
-
|
11
|
+
runner_with :help, :subcommands do
|
14
12
|
desc 'Ferramentas para EHB/RS Utils.'
|
15
|
-
pos_arg :
|
13
|
+
pos_arg :instance_id
|
16
14
|
subcommands
|
17
15
|
end
|
18
16
|
|
19
17
|
private
|
20
18
|
|
21
19
|
def instance_uncached
|
22
|
-
::EhbrsRubyUtils::WebUtils::Instance.by_id(
|
20
|
+
::EhbrsRubyUtils::WebUtils::Instance.by_id(parsed.instance_id)
|
23
21
|
end
|
24
22
|
end
|
25
23
|
end
|
@@ -1,16 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_cli/core_ext'
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
5
4
|
|
6
5
|
module Ehbrs
|
7
|
-
class Runner
|
8
|
-
class WebUtils
|
9
|
-
class Videos
|
10
|
-
runner_with
|
6
|
+
class Runner
|
7
|
+
class WebUtils
|
8
|
+
class Videos
|
11
9
|
require_sub __FILE__
|
12
10
|
|
13
|
-
|
11
|
+
runner_with :help, :subcommands do
|
14
12
|
desc 'Ferramentas de vídeos para EHB/RS Utils.'
|
15
13
|
subcommands
|
16
14
|
end
|
@@ -2,16 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'eac_cli/core_ext'
|
4
4
|
require 'ehbrs_ruby_utils/web_utils/videos/file'
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
6
5
|
|
7
6
|
module Ehbrs
|
8
|
-
class Runner
|
9
|
-
class WebUtils
|
10
|
-
class Videos
|
11
|
-
class Download
|
12
|
-
runner_with
|
13
|
-
|
14
|
-
runner_definition do
|
7
|
+
class Runner
|
8
|
+
class WebUtils
|
9
|
+
class Videos
|
10
|
+
class Download
|
11
|
+
runner_with :help do
|
15
12
|
desc 'Importa informações de arquivos de vídeo de uma instância EHB/RS Utils.'
|
16
13
|
bool_opt '-c', '--confirm', 'Confirma as mudanças'
|
17
14
|
end
|
@@ -32,12 +29,12 @@ module Ehbrs
|
|
32
29
|
|
33
30
|
def process_rename_file(file)
|
34
31
|
infov " * #{file.new_path}", file.original_path
|
35
|
-
file.rename if
|
32
|
+
file.rename if parsed.confirm?
|
36
33
|
end
|
37
34
|
|
38
35
|
def process_delete_file(file)
|
39
36
|
infov " * #{file.new_path}", 'REMOVE'
|
40
|
-
file.remove if
|
37
|
+
file.remove if parsed.confirm?
|
41
38
|
end
|
42
39
|
|
43
40
|
def files_uncached
|
@@ -57,7 +54,7 @@ module Ehbrs
|
|
57
54
|
end
|
58
55
|
|
59
56
|
def raw_content
|
60
|
-
|
57
|
+
runner_context.call(:instance).http_request('/videos/files/export').body
|
61
58
|
end
|
62
59
|
end
|
63
60
|
end
|
@@ -1,19 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_cli/core_ext'
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
5
4
|
require 'ehbrs_ruby_utils/web_utils/videos/files_list'
|
6
5
|
require 'json'
|
7
6
|
require 'yaml'
|
8
7
|
|
9
8
|
module Ehbrs
|
10
|
-
class Runner
|
11
|
-
class WebUtils
|
12
|
-
class Videos
|
13
|
-
class Upload
|
14
|
-
runner_with
|
15
|
-
|
16
|
-
runner_definition do
|
9
|
+
class Runner
|
10
|
+
class WebUtils
|
11
|
+
class Videos
|
12
|
+
class Upload
|
13
|
+
runner_with :help do
|
17
14
|
desc 'Exporta informações de arquivos de vídeo para uma instância EHB/RS Utils.'
|
18
15
|
bool_opt '-P', '--no-ffprobe', 'Não recupera dados com "ffprobe".'
|
19
16
|
end
|
@@ -30,7 +27,7 @@ module Ehbrs
|
|
30
27
|
end
|
31
28
|
|
32
29
|
def upload_request(files_list_path)
|
33
|
-
|
30
|
+
runner_context.call(:instance).http_request(
|
34
31
|
'/videos/files/import',
|
35
32
|
method: :put,
|
36
33
|
body: {
|
@@ -65,8 +62,8 @@ module Ehbrs
|
|
65
62
|
def write_files_list(file_class, read_entry)
|
66
63
|
files_list = ::EhbrsRubyUtils::WebUtils::Videos::FilesList.new(
|
67
64
|
file_class,
|
68
|
-
|
69
|
-
ffprobe: !
|
65
|
+
runner_context.call(:instance).read_entry(read_entry),
|
66
|
+
ffprobe: !parsed.no_ffprobe?
|
70
67
|
)
|
71
68
|
infov 'Files found', files_list.data.fetch(:files).count
|
72
69
|
files_list.write_to
|
data/lib/ehbrs/tools/version.rb
CHANGED
@@ -11,7 +11,11 @@ module Ehbrs
|
|
11
11
|
enable_simple_cache
|
12
12
|
common_constructor :output
|
13
13
|
|
14
|
-
|
14
|
+
# WIA/WII (v1.00,LZMA2.7@100) & Wii
|
15
|
+
# ISO/WII & Wii
|
16
|
+
# WBFS/WII & Wii
|
17
|
+
# ISO/GC & GameCube
|
18
|
+
FILE_DISC_TYPE_PATTERN = %r{\A(\S+)/(\S+)\s+(?:\(([^\)]+)\)\s+)?&\s+(\S+)\z}.freeze
|
15
19
|
|
16
20
|
private
|
17
21
|
|
@@ -42,10 +46,11 @@ module Ehbrs
|
|
42
46
|
end
|
43
47
|
|
44
48
|
def parse_file_disc_type(value)
|
45
|
-
FILE_DISC_TYPE_PATTERN
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
+
r = FILE_DISC_TYPE_PATTERN.match(value).if_present do |m|
|
50
|
+
{ type: m[1], platform_acronym: m[2], type_extra: m[3],
|
51
|
+
platform_name: m[4] }
|
52
|
+
end
|
53
|
+
r.if_blank { raise "\"#{FILE_DISC_TYPE_PATTERN}\" does not match \"#{value}\"" }
|
49
54
|
end
|
50
55
|
|
51
56
|
def parse_disc_part_ids(value)
|
data/lib/ehbrs/videos/file.rb
CHANGED
@@ -3,10 +3,11 @@
|
|
3
3
|
require 'eac_ruby_utils/core_ext'
|
4
4
|
require 'ehbrs/videos/track'
|
5
5
|
require 'ehbrs_ruby_utils/executables'
|
6
|
+
require 'ehbrs_ruby_utils/videos/container'
|
6
7
|
|
7
8
|
module Ehbrs
|
8
9
|
module Videos
|
9
|
-
class File
|
10
|
+
class File < ::EhbrsRubyUtils::Videos::Container
|
10
11
|
enable_simple_cache
|
11
12
|
|
12
13
|
TIME_PATTERN = /(\d+):(\d{2}):(\d{2})(?:\.(\d+))/.freeze
|
@@ -39,17 +40,12 @@ module Ehbrs
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
42
|
-
common_constructor :path
|
43
|
-
|
44
43
|
private
|
45
44
|
|
46
45
|
def tracks_uncached
|
47
|
-
|
48
|
-
|
49
|
-
t = ::Ehbrs::Videos::Track.create_from_string(line)
|
50
|
-
r << t if t && t.type != 'Data'
|
46
|
+
streams.map { |stream| ::Ehbrs::Videos::Track.new(stream) }.reject do |t|
|
47
|
+
t.codec_type == ::EhbrsRubyUtils::Videos::Stream::CODEC_TYPE_DATA
|
51
48
|
end
|
52
|
-
r
|
53
49
|
end
|
54
50
|
|
55
51
|
def content_uncached
|
@@ -6,21 +6,11 @@ module Ehbrs
|
|
6
6
|
module Rename
|
7
7
|
class File
|
8
8
|
class Options
|
9
|
-
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
%w[kernel confirm recursive extension].each do |method|
|
14
|
-
class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
|
15
|
-
def #{method}
|
16
|
-
@options.fetch('--#{method}')
|
17
|
-
end
|
18
|
-
RUBY_EVAL
|
19
|
-
end
|
9
|
+
common_constructor :options
|
10
|
+
delegate :kernel, :confirm, :recursive, :extension, to: :options
|
20
11
|
|
21
12
|
def episode_increment
|
22
|
-
|
23
|
-
r.present? ? r.to_i : 0
|
13
|
+
options.episode_increment.if_present(0, &:to_i)
|
24
14
|
end
|
25
15
|
end
|
26
16
|
end
|
data/lib/ehbrs/videos/track.rb
CHANGED
@@ -1,22 +1,32 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'ehbrs_ruby_utils/videos/stream'
|
4
5
|
|
5
6
|
module Ehbrs
|
6
7
|
module Videos
|
7
|
-
class Track
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
return nil unless m
|
8
|
+
class Track < ::SimpleDelegator
|
9
|
+
TYPE_MAPPING = {
|
10
|
+
audio: 'Audio',
|
11
|
+
video: 'Video',
|
12
|
+
subtitle: 'Subtitle'
|
13
|
+
}.freeze
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
def codec
|
16
|
+
codec_name
|
17
17
|
end
|
18
18
|
|
19
|
-
|
19
|
+
def type
|
20
|
+
TYPE_MAPPING.fetch(codec_type)
|
21
|
+
end
|
22
|
+
|
23
|
+
def number
|
24
|
+
index
|
25
|
+
end
|
26
|
+
|
27
|
+
def extra
|
28
|
+
ffprobe_data.fetch(:codec_tag_string).to_s
|
29
|
+
end
|
20
30
|
|
21
31
|
def to_s
|
22
32
|
"[#{type}(#{number}): #{codec}/#{language || '-'}" +
|