ehbrs-tools 0.12.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ehbrs/executables.rb +1 -1
- data/lib/ehbrs/runner.rb +9 -13
- data/lib/ehbrs/runner/finances.rb +19 -0
- data/lib/ehbrs/runner/finances/bb_browser.rb +40 -0
- data/lib/ehbrs/runner/fs/used_space.rb +4 -4
- data/lib/ehbrs/runner/videos.rb +6 -11
- data/lib/ehbrs/runner/videos/probe.rb +35 -0
- data/lib/ehbrs/runner/web_utils.rb +26 -0
- data/lib/ehbrs/runner/web_utils/videos.rb +20 -0
- data/lib/ehbrs/runner/web_utils/videos/download.rb +66 -0
- data/lib/ehbrs/runner/web_utils/videos/upload.rb +78 -0
- data/lib/ehbrs/tools/version.rb +1 -1
- data/lib/ehbrs/videos/file.rb +2 -1
- data/lib/ehbrs/videos/unsupported/fix_profile.rb +1 -0
- data/vendor/eac_cli/eac_cli.gemspec +3 -3
- data/vendor/eac_cli/lib/eac_cli/core_ext.rb +4 -0
- data/vendor/eac_cli/lib/eac_cli/default_runner.rb +6 -14
- data/vendor/eac_cli/lib/eac_cli/definition.rb +72 -0
- data/vendor/eac_cli/lib/eac_cli/definition/argument_option.rb +13 -0
- data/vendor/eac_cli/lib/eac_cli/{runner → definition}/base_option.rb +5 -1
- data/vendor/eac_cli/lib/eac_cli/definition/boolean_option.rb +13 -0
- data/vendor/eac_cli/lib/eac_cli/{runner → definition}/positional_argument.rb +5 -1
- data/vendor/eac_cli/lib/eac_cli/{runner/docopt_doc.rb → docopt/doc_builder.rb} +15 -8
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +45 -0
- data/vendor/eac_cli/lib/eac_cli/parser.rb +14 -0
- data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +56 -0
- data/vendor/eac_cli/lib/eac_cli/parser/error.rb +15 -0
- data/vendor/eac_cli/lib/eac_cli/parser/options_collection.rb +105 -0
- data/vendor/eac_cli/lib/eac_cli/parser/parse_result.rb +21 -0
- data/vendor/eac_cli/lib/eac_cli/parser/positional_collection.rb +49 -0
- data/vendor/eac_cli/lib/eac_cli/patches.rb +4 -0
- data/vendor/eac_cli/lib/eac_cli/patches/object.rb +5 -0
- data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +24 -0
- data/vendor/eac_cli/lib/eac_cli/runner.rb +64 -7
- data/vendor/eac_cli/lib/eac_cli/runner/context.rb +18 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with.rb +9 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +19 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb +26 -0
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +70 -0
- data/vendor/eac_docker/Gemfile +5 -0
- data/vendor/eac_docker/eac_docker.gemspec +18 -0
- data/vendor/eac_docker/lib/eac_docker.rb +7 -0
- data/vendor/eac_docker/lib/eac_docker/container.rb +50 -0
- data/vendor/eac_docker/lib/eac_docker/executables.rb +18 -0
- data/vendor/eac_docker/lib/eac_docker/images.rb +9 -0
- data/vendor/eac_docker/lib/eac_docker/images/base.rb +14 -0
- data/vendor/eac_docker/lib/eac_docker/images/named.rb +30 -0
- data/vendor/eac_docker/lib/eac_docker/rspec.rb +17 -0
- data/vendor/eac_docker/lib/eac_docker/version.rb +5 -0
- data/vendor/eac_docker/spec/lib/eac_docker/executables_spec.rb +9 -0
- data/vendor/eac_docker/spec/rubocop_spec.rb +7 -0
- data/vendor/eac_docker/spec/spec_helper.rb +103 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +31 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +4 -4
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner.rb +6 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb +2 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb +8 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +1 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +8 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env.rb +12 -9
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/dasho_options.rb +53 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/identity_file.rb +25 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/quiet.rb +24 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb +34 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs_cache.rb +1 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable.rb +15 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/array_accessor.rb +32 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/base_accessor.rb +23 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/boolean_accessor.rb +16 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/class_methods.rb +20 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/common_accessor.rb +30 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/hash_accessor.rb +46 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/instance_methods.rb +21 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +18 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +5 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +3 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb +10 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_respond.rb +22 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb +4 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +9 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb +38 -11
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +6 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +53 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/directory.rb +7 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/file.rb +8 -59
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_not_found_error.rb +7 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers.rb +25 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/base.rb +23 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/entries_reader.rb +25 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/generic.rb +25 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/hash.rb +29 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +15 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/ruby_spec.rb +22 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +46 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/file_spec.rb +1 -0
- data/vendor/ehbrs_ruby_utils/Gemfile +16 -0
- data/vendor/ehbrs_ruby_utils/ehbrs_ruby_utils.gemspec +20 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils.rb +7 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/executables.rb +28 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/version.rb +5 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos.rb +9 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container.rb +11 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/file.rb +31 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/info.rb +21 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/quality.rb +68 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/resolution.rb +68 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils.rb +9 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/instance.rb +32 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos.rb +11 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb +40 -0
- data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/files_list.rb +76 -0
- data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb +18 -0
- data/vendor/ehbrs_ruby_utils/spec/rubocop_check_spec.rb +7 -0
- data/vendor/ehbrs_ruby_utils/spec/spec_helper.rb +100 -0
- metadata +92 -10
- data/vendor/eac_cli/lib/eac_cli/runner/argument_option.rb +0 -13
- data/vendor/eac_cli/lib/eac_cli/runner/boolean_option.rb +0 -13
- data/vendor/eac_cli/lib/eac_cli/runner/definition.rb +0 -64
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a87fd9ce05b53ed04fcdfdc72f50a9aee263e95816935bfdb796239c2a0312f6
|
|
4
|
+
data.tar.gz: 3b1374c1fdc8d761ac9a23632f16ba132bcab34f08541f5eab7a28d5138fedad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 43c2621390f1c3cffff8f0bfe37f5a0569b0e4458558eedb7031a39274429f14e10a882be05d6abfbbc65c1eec776f3bf47be806b25ca649b650bc933a216f1a
|
|
7
|
+
data.tar.gz: 0df896b884307cbddddb8949e88c3f4125c8b4e4c2ddd88c42561e00bf632bb29a5308a94bdf5cff5a57abbce93339c8df36839940ee616d2e98c6b3de3f5862
|
data/lib/ehbrs/executables.rb
CHANGED
data/lib/ehbrs/runner.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'eac_cli/default_runner'
|
|
3
4
|
require 'eac_ruby_utils/core_ext'
|
|
4
5
|
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
6
|
require 'ehbrs/tools/version'
|
|
@@ -7,20 +8,15 @@ require 'ehbrs/tools/version'
|
|
|
7
8
|
module Ehbrs
|
|
8
9
|
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
9
10
|
require_sub __FILE__
|
|
10
|
-
|
|
11
|
+
include ::EacCli::DefaultRunner
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
Tools for EHB/RS.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Options:
|
|
21
|
-
-h --help Show this screen.
|
|
22
|
-
-V --version Show version.
|
|
23
|
-
DOCOPT
|
|
13
|
+
runner_definition do
|
|
14
|
+
desc 'Tools for EHB/RS.'
|
|
15
|
+
subcommands
|
|
16
|
+
alt do
|
|
17
|
+
bool_opt '-V', '--version', 'Show version.'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
24
20
|
|
|
25
21
|
def run
|
|
26
22
|
if options.fetch('--version')
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/default_runner'
|
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
|
5
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
|
+
|
|
7
|
+
module Ehbrs
|
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
9
|
+
class Finances < ::EacRubyUtils::Console::DocoptRunner
|
|
10
|
+
include ::EacCli::DefaultRunner
|
|
11
|
+
require_sub __FILE__
|
|
12
|
+
|
|
13
|
+
runner_definition do
|
|
14
|
+
desc 'Utilidades financeiras.'
|
|
15
|
+
subcommands
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/default_runner'
|
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
|
5
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
|
+
require 'ehbrs/videos/extract/package'
|
|
7
|
+
require 'eac_docker/images/named'
|
|
8
|
+
|
|
9
|
+
module Ehbrs
|
|
10
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
11
|
+
class Finances < ::EacRubyUtils::Console::DocoptRunner
|
|
12
|
+
class BbBrowser < ::EacRubyUtils::Console::DocoptRunner
|
|
13
|
+
include ::EacCli::DefaultRunner
|
|
14
|
+
require_sub __FILE__
|
|
15
|
+
|
|
16
|
+
runner_definition do
|
|
17
|
+
desc 'Bankline para Banco do Brasil com módulo de segurança.'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def run
|
|
21
|
+
infov 'Docker run arguments', docker_container.run_command_args
|
|
22
|
+
infov 'System result', docker_container.run_command.system
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
def docker_image_uncached
|
|
28
|
+
::EacDocker::Images::Named.new('lichti/warsaw-browser')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def docker_container_uncached
|
|
32
|
+
docker_image.container.env('DISPLAY', "unix#{ENV.fetch('DISPLAY')}")
|
|
33
|
+
.volume(::File.join(ENV['HOME'], 'Downloads'), '/home/bank/Downloads')
|
|
34
|
+
.volume('/tmp/.X11-unix', '/tmp/.X11-unix').command_arg('bb')
|
|
35
|
+
.temporary(true).interactive(true).tty(true)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -6,7 +6,7 @@ require 'filesize'
|
|
|
6
6
|
module Ehbrs
|
|
7
7
|
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
8
8
|
class Fs < ::EacRubyUtils::Console::DocoptRunner
|
|
9
|
-
class UsedSpace
|
|
9
|
+
class UsedSpace
|
|
10
10
|
include ::EacCli::DefaultRunner
|
|
11
11
|
|
|
12
12
|
runner_definition do
|
|
@@ -22,7 +22,7 @@ module Ehbrs
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def check?
|
|
25
|
-
|
|
25
|
+
parsed.check
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
private
|
|
@@ -40,11 +40,11 @@ module Ehbrs
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def paths_uncached
|
|
43
|
-
|
|
43
|
+
parsed.paths.map { |path| path_class.new(self, path) }
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def verbose?
|
|
47
|
-
|
|
47
|
+
parsed.verbose
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
class PathBase
|
data/lib/ehbrs/runner/videos.rb
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
4
4
|
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
5
|
|
|
6
6
|
module Ehbrs
|
|
7
7
|
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
8
8
|
class Videos < ::EacRubyUtils::Console::DocoptRunner
|
|
9
|
+
runner_with :output_file
|
|
9
10
|
require_sub __FILE__
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
Video tools for EHB/RS.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
__PROGRAM__ [options] __SUBCOMMANDS__
|
|
16
|
-
__PROGRAM__ -h | --help
|
|
17
|
-
|
|
18
|
-
Options:
|
|
19
|
-
-h --help Show this screen.
|
|
20
|
-
DOCOPT
|
|
12
|
+
runner_definition do
|
|
13
|
+
desc 'Video tools for EHB/RS.'
|
|
14
|
+
subcommands
|
|
15
|
+
end
|
|
21
16
|
end
|
|
22
17
|
end
|
|
23
18
|
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
4
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
|
+
require 'ehbrs_ruby_utils/videos/container/file'
|
|
6
|
+
require 'eac_ruby_utils/yaml'
|
|
7
|
+
|
|
8
|
+
module Ehbrs
|
|
9
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
10
|
+
class Videos < ::EacRubyUtils::Console::DocoptRunner
|
|
11
|
+
class Probe
|
|
12
|
+
runner_with :output_file
|
|
13
|
+
|
|
14
|
+
runner_definition do
|
|
15
|
+
desc 'FFProbe em um arquivo de vídeo.'
|
|
16
|
+
pos_arg :file_path
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def run
|
|
20
|
+
run_output
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def output_content
|
|
24
|
+
::EacRubyUtils::Yaml.dump(container_file.info.to_h)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
private
|
|
28
|
+
|
|
29
|
+
def container_file_uncached
|
|
30
|
+
::EhbrsRubyUtils::Videos::Container::File.new(parsed.file_path)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
4
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
|
+
require 'ehbrs_ruby_utils/web_utils/instance'
|
|
6
|
+
|
|
7
|
+
module Ehbrs
|
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
9
|
+
class WebUtils < ::EacRubyUtils::Console::DocoptRunner
|
|
10
|
+
runner_with
|
|
11
|
+
require_sub __FILE__
|
|
12
|
+
|
|
13
|
+
runner_definition do
|
|
14
|
+
desc 'Ferramentas para EHB/RS Utils.'
|
|
15
|
+
pos_arg :'instance-id'
|
|
16
|
+
subcommands
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def instance_uncached
|
|
22
|
+
::EhbrsRubyUtils::WebUtils::Instance.by_id(options.fetch('<instance-id>'))
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
4
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
|
+
|
|
6
|
+
module Ehbrs
|
|
7
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
8
|
+
class WebUtils < ::EacRubyUtils::Console::DocoptRunner
|
|
9
|
+
class Videos < ::EacRubyUtils::Console::DocoptRunner
|
|
10
|
+
runner_with
|
|
11
|
+
require_sub __FILE__
|
|
12
|
+
|
|
13
|
+
runner_definition do
|
|
14
|
+
desc 'Ferramentas de vídeos para EHB/RS Utils.'
|
|
15
|
+
subcommands
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
4
|
+
require 'ehbrs_ruby_utils/web_utils/videos/file'
|
|
5
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
|
+
|
|
7
|
+
module Ehbrs
|
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
9
|
+
class WebUtils < ::EacRubyUtils::Console::DocoptRunner
|
|
10
|
+
class Videos < ::EacRubyUtils::Console::DocoptRunner
|
|
11
|
+
class Download < ::EacRubyUtils::Console::DocoptRunner
|
|
12
|
+
runner_with
|
|
13
|
+
|
|
14
|
+
runner_definition do
|
|
15
|
+
desc 'Importa informações de arquivos de vídeo de uma instância EHB/RS Utils.'
|
|
16
|
+
bool_opt '-c', '--confirm', 'Confirma as mudanças'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def run
|
|
20
|
+
start_banner
|
|
21
|
+
to_rename.each { |file| process_rename_file(file) }
|
|
22
|
+
to_delete.each { |file| process_delete_file(file) }
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
def start_banner
|
|
28
|
+
infov 'Files downloaded', files.count
|
|
29
|
+
infov 'To rename', to_rename.count
|
|
30
|
+
infov 'To delete', to_delete.count
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def process_rename_file(file)
|
|
34
|
+
infov " * #{file.new_path}", file.original_path
|
|
35
|
+
file.rename if options.fetch('--confirm')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def process_delete_file(file)
|
|
39
|
+
infov " * #{file.new_path}", 'REMOVE'
|
|
40
|
+
file.remove if options.fetch('--confirm')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def files_uncached
|
|
44
|
+
data.map { |file_data| ::EhbrsRubyUtils::WebUtils::Videos::File.new(file_data) }
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def to_rename_uncached
|
|
48
|
+
files.select(&:path_changed?)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def to_delete_uncached
|
|
52
|
+
files.reject { |f| f.type == 'Videos::SeriesDirectory' }.select(&:unwanted)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def data_uncached
|
|
56
|
+
::JSON.parse(raw_content)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def raw_content
|
|
60
|
+
context(:instance).http_request('/videos/files/export').body
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_cli/core_ext'
|
|
4
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
|
+
require 'ehbrs_ruby_utils/web_utils/videos/files_list'
|
|
6
|
+
require 'json'
|
|
7
|
+
require 'yaml'
|
|
8
|
+
|
|
9
|
+
module Ehbrs
|
|
10
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
|
11
|
+
class WebUtils < ::EacRubyUtils::Console::DocoptRunner
|
|
12
|
+
class Videos < ::EacRubyUtils::Console::DocoptRunner
|
|
13
|
+
class Upload < ::EacRubyUtils::Console::DocoptRunner
|
|
14
|
+
runner_with
|
|
15
|
+
|
|
16
|
+
runner_definition do
|
|
17
|
+
desc 'Exporta informações de arquivos de vídeo para uma instância EHB/RS Utils.'
|
|
18
|
+
bool_opt '-P', '--no-ffprobe', 'Não recupera dados com "ffprobe".'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def run
|
|
22
|
+
%w[movies series].each { |type| upload_files_list(type) }
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def upload_files_list(type)
|
|
26
|
+
infom "Uploading \"#{type}\" files list..."
|
|
27
|
+
files_list_path = send("#{type}_files_list")
|
|
28
|
+
infov 'Path', files_list_path
|
|
29
|
+
process_response(upload_request(files_list_path))
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def upload_request(files_list_path)
|
|
33
|
+
context(:instance).http_request(
|
|
34
|
+
'/videos/files/import',
|
|
35
|
+
method: :put,
|
|
36
|
+
body: {
|
|
37
|
+
'videos_tableless_local_import_list[list_file]' => ::File.new(files_list_path)
|
|
38
|
+
},
|
|
39
|
+
header: {
|
|
40
|
+
'Accept' => 'application/json'
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def process_response(response)
|
|
46
|
+
infov 'Response status', response.status
|
|
47
|
+
if response.status == 200
|
|
48
|
+
pp ::JSON.parse(response.body) # rubocop:disable Rails/Output
|
|
49
|
+
else
|
|
50
|
+
error_file = '/tmp/ehbrsutils.html'
|
|
51
|
+
::File.write(error_file, response.body)
|
|
52
|
+
system('firefox', error_file)
|
|
53
|
+
fatal_error('Retornou com status de erro: ' + error_file)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def series_files_list_uncached
|
|
58
|
+
write_files_list('Videos::SeriesDirectory', :series_directory)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def movies_files_list_uncached
|
|
62
|
+
write_files_list('Videos::MovieFile', :movies_directory)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def write_files_list(file_class, read_entry)
|
|
66
|
+
files_list = ::EhbrsRubyUtils::WebUtils::Videos::FilesList.new(
|
|
67
|
+
file_class,
|
|
68
|
+
context(:instance).read_entry(read_entry),
|
|
69
|
+
ffprobe: !options.fetch('--no-ffprobe')
|
|
70
|
+
)
|
|
71
|
+
infov 'Files found', files_list.data.fetch(:files).count
|
|
72
|
+
files_list.write_to
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
data/lib/ehbrs/tools/version.rb
CHANGED
data/lib/ehbrs/videos/file.rb
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require 'eac_ruby_utils/core_ext'
|
|
4
4
|
require 'ehbrs/videos/track'
|
|
5
|
+
require 'ehbrs_ruby_utils/executables'
|
|
5
6
|
|
|
6
7
|
module Ehbrs
|
|
7
8
|
module Videos
|
|
@@ -52,7 +53,7 @@ module Ehbrs
|
|
|
52
53
|
end
|
|
53
54
|
|
|
54
55
|
def content_uncached
|
|
55
|
-
|
|
56
|
+
::EhbrsRubyUtils::Executables.ffprobe.command(path).execute!(output: :stderr).scrub
|
|
56
57
|
end
|
|
57
58
|
|
|
58
59
|
def duration_uncached
|