ehbrs-tools 0.14.0 → 0.16.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ehbrs/runner.rb +4 -7
  3. data/lib/ehbrs/runner/finances.rb +4 -7
  4. data/lib/ehbrs/runner/finances/bb_browser.rb +5 -10
  5. data/lib/ehbrs/runner/fs.rb +4 -7
  6. data/lib/ehbrs/runner/fs/used_space.rb +4 -5
  7. data/lib/ehbrs/runner/google.rb +4 -7
  8. data/lib/ehbrs/runner/google/translate.rb +7 -12
  9. data/lib/ehbrs/runner/self.rb +4 -7
  10. data/lib/ehbrs/runner/self/test.rb +5 -10
  11. data/lib/ehbrs/runner/vg.rb +4 -7
  12. data/lib/ehbrs/runner/vg/ips.rb +9 -14
  13. data/lib/ehbrs/runner/vg/wii.rb +10 -13
  14. data/lib/ehbrs/runner/videos.rb +3 -5
  15. data/lib/ehbrs/runner/videos/extract.rb +10 -13
  16. data/lib/ehbrs/runner/videos/probe.rb +6 -9
  17. data/lib/ehbrs/runner/videos/series.rb +5 -8
  18. data/lib/ehbrs/runner/videos/series/rename.rb +9 -12
  19. data/lib/ehbrs/runner/videos/unsupported.rb +9 -13
  20. data/lib/ehbrs/runner/web_utils.rb +24 -0
  21. data/lib/ehbrs/runner/web_utils/videos.rb +18 -0
  22. data/lib/ehbrs/runner/web_utils/videos/download.rb +63 -0
  23. data/lib/ehbrs/runner/web_utils/videos/upload.rb +75 -0
  24. data/lib/ehbrs/tools/version.rb +1 -1
  25. data/lib/ehbrs/vg/wii/wit/parsers/dump.rb +10 -5
  26. data/lib/ehbrs/videos/file.rb +4 -8
  27. data/lib/ehbrs/videos/series/rename/file/options.rb +3 -13
  28. data/lib/ehbrs/videos/track.rb +20 -10
  29. data/lib/ehbrs/videos/unsupported/checks/codec_extra_unlisted.rb +2 -0
  30. data/lib/ehbrs/videos/unsupported/checks/codec_extra_unsupported.rb +2 -0
  31. data/lib/ehbrs/videos/unsupported/checks/codec_unlisted.rb +2 -0
  32. data/lib/ehbrs/videos/unsupported/checks/codec_unsupported.rb +2 -0
  33. data/lib/ehbrs/videos/unsupported/checks/invalid_extension.rb +2 -0
  34. data/lib/ehbrs/videos/unsupported/fix_profile.rb +1 -0
  35. data/lib/ehbrs/videos/unsupported/fixes/supported_codec.rb +1 -1
  36. data/lib/ehbrs/videos/unsupported/profiles/base.rb +17 -3
  37. data/lib/ehbrs/videos/unsupported/profiles/philco.rb +5 -4
  38. data/vendor/aranha-parsers/Gemfile +5 -0
  39. data/vendor/aranha-parsers/aranha-parsers.gemspec +23 -0
  40. data/vendor/aranha-parsers/lib/aranha/parsers.rb +9 -0
  41. data/vendor/aranha-parsers/lib/aranha/parsers/base.rb +79 -0
  42. data/vendor/aranha-parsers/lib/aranha/parsers/html.rb +11 -0
  43. data/vendor/aranha-parsers/lib/aranha/parsers/html/base.rb +47 -0
  44. data/vendor/aranha-parsers/lib/aranha/parsers/html/item.rb +24 -0
  45. data/vendor/aranha-parsers/lib/aranha/parsers/html/item_list.rb +29 -0
  46. data/vendor/aranha-parsers/lib/aranha/parsers/html/node.rb +13 -0
  47. data/vendor/aranha-parsers/lib/aranha/parsers/html/node/base.rb +36 -0
  48. data/vendor/aranha-parsers/lib/aranha/parsers/html/node/default.rb +126 -0
  49. data/vendor/aranha-parsers/lib/aranha/parsers/invalid_state_exception.rb +8 -0
  50. data/vendor/aranha-parsers/lib/aranha/parsers/patches.rb +11 -0
  51. data/vendor/aranha-parsers/lib/aranha/parsers/patches/ofx_parser.rb +38 -0
  52. data/vendor/aranha-parsers/lib/aranha/parsers/source_address.rb +55 -0
  53. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/file.rb +31 -0
  54. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_get.rb +25 -0
  55. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_post.rb +45 -0
  56. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/http_get.rb +49 -0
  57. data/vendor/aranha-parsers/lib/aranha/parsers/source_target_fixtures.rb +77 -0
  58. data/vendor/aranha-parsers/lib/aranha/parsers/spec/source_target_fixtures_example.rb +78 -0
  59. data/vendor/aranha-parsers/lib/aranha/parsers/version.rb +7 -0
  60. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_address/http_get_spec.rb +21 -0
  61. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_address_spec.rb +74 -0
  62. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec.rb +27 -0
  63. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.source.txt +1 -0
  64. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.target.html +1 -0
  65. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub2.source.html +1 -0
  66. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub3.target.yaml +1 -0
  67. data/vendor/aranha-parsers/spec/lib/rubocop_check_spec.rb +7 -0
  68. data/vendor/aranha-parsers/spec/spec_helper.rb +8 -0
  69. data/vendor/eac_cli/eac_cli.gemspec +1 -1
  70. data/vendor/eac_cli/lib/eac_cli/definition.rb +49 -22
  71. data/vendor/eac_cli/lib/eac_cli/definition/alternative.rb +83 -0
  72. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +17 -1
  73. data/vendor/eac_cli/lib/eac_cli/{parser/options_collection.rb → definition/help_formatter.rb} +20 -49
  74. data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +21 -4
  75. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +18 -40
  76. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb +50 -0
  77. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +1 -0
  78. data/vendor/eac_cli/lib/eac_cli/parser.rb +21 -3
  79. data/vendor/eac_cli/lib/eac_cli/parser/alternative.rb +88 -0
  80. data/vendor/eac_cli/lib/eac_cli/parser/alternative/argv.rb +17 -0
  81. data/vendor/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +24 -0
  82. data/vendor/eac_cli/lib/eac_cli/parser/alternative/options.rb +58 -0
  83. data/vendor/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +30 -0
  84. data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +4 -0
  85. data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +2 -1
  86. data/vendor/eac_cli/lib/eac_cli/runner.rb +7 -3
  87. data/vendor/eac_cli/lib/eac_cli/runner/context.rb +19 -2
  88. data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +1 -1
  89. data/vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb +5 -1
  90. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +96 -0
  91. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  92. data/vendor/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +14 -0
  93. data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +35 -0
  94. data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +140 -0
  95. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +57 -40
  96. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/output_file_spec.rb +53 -0
  97. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +57 -0
  98. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/abstract_methods.rb +60 -0
  99. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +19 -0
  100. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/base.rb +43 -0
  101. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/file.rb +12 -31
  102. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb +7 -104
  103. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/entry_reader.rb +81 -0
  104. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/password_entry_reader.rb +18 -0
  105. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/read_entry_options.rb +46 -0
  106. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb +27 -0
  107. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +57 -0
  108. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +4 -0
  109. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +9 -0
  110. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +14 -0
  111. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb +10 -0
  112. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +17 -0
  113. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb +21 -58
  114. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb +8 -0
  115. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb +67 -0
  116. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/path_search.rb +39 -0
  117. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +2 -1
  118. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +4 -0
  119. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  120. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +3 -2
  121. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/abstract_methods_spec.rb +28 -0
  122. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +16 -0
  123. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb +15 -0
  124. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +26 -0
  125. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +32 -0
  126. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/paths_hash_spec.rb +52 -13
  127. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/version.rb +1 -1
  128. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container.rb +30 -2
  129. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/convert_job.rb +91 -0
  130. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/stream.rb +51 -0
  131. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils.rb +9 -0
  132. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/instance.rb +32 -0
  133. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos.rb +11 -0
  134. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb +40 -0
  135. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/files_list.rb +76 -0
  136. metadata +78 -7
  137. data/vendor/eac_cli/lib/eac_cli/parser/parse_result.rb +0 -21
  138. data/vendor/eac_cli/lib/eac_cli/parser/positional_collection.rb +0 -49
  139. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/file.rb +0 -31
  140. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/info.rb +0 -21
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module WebUtils
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/instances/base'
5
+ require 'httpclient'
6
+
7
+ module EhbrsRubyUtils
8
+ module WebUtils
9
+ class Instance < ::Avm::Instances::Base
10
+ def root_url
11
+ read_entry(:url)
12
+ end
13
+
14
+ def resource_url(resource_url_suffix)
15
+ root_url + '/' + resource_url_suffix.gsub(%r{\A/+}, '')
16
+ end
17
+
18
+ def http_request(resource_url_suffix, options = {})
19
+ method = options.delete(:method) || 'get'
20
+ url = resource_url(resource_url_suffix)
21
+ http_client.request(method, url, options)
22
+ end
23
+
24
+ def http_client_uncached
25
+ client = HTTPClient.new
26
+ client.force_basic_auth = true
27
+ client.set_basic_auth(root_url, read_entry(:admin_username), read_entry(:admin_password))
28
+ client
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module WebUtils
7
+ module Videos
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ostruct'
4
+
5
+ module EhbrsRubyUtils
6
+ module WebUtils
7
+ module Videos
8
+ class File < ::SimpleDelegator
9
+ def initialize(data)
10
+ super(::OpenStruct.new(data))
11
+ end
12
+
13
+ def exist?
14
+ ::File.exist?(original_path)
15
+ end
16
+
17
+ def path_changed?
18
+ original_path != new_path
19
+ end
20
+
21
+ def can_rename?
22
+ ::File.exist?(original_path) && !::File.exist?(new_path)
23
+ end
24
+
25
+ def remove
26
+ return unless exist?
27
+
28
+ ::File.unlink(original_path)
29
+ end
30
+
31
+ def rename
32
+ return unless can_rename?
33
+
34
+ ::FileUtils.mkdir_p(::File.dirname(new_path))
35
+ ::FileUtils.mv(original_path, new_path)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/json'
4
+ require 'eac_ruby_utils/fs/temp'
5
+ require 'ehbrs_ruby_utils/executables'
6
+
7
+ module EhbrsRubyUtils
8
+ module WebUtils
9
+ module Videos
10
+ class FilesList
11
+ enable_console_speaker
12
+ enable_simple_cache
13
+
14
+ common_constructor :type_class, :root_path, :options do
15
+ self.root_path = root_path.to_pathname
16
+ raise "\"#{root_path}\" is not a directory" unless root_path.directory?
17
+
18
+ self.options = options.with_indifferent_access.freeze
19
+ end
20
+
21
+ def write_to(path = nil)
22
+ path ||= ::EacRubyUtils::Fs::Temp.file.to_path
23
+ ::File.write(path, data.to_json)
24
+ path
25
+ end
26
+
27
+ def data
28
+ {
29
+ root_path: root_path.to_path,
30
+ type: type_class,
31
+ files: files_data
32
+ }
33
+ end
34
+
35
+ def files_data
36
+ case type_class
37
+ when 'Videos::MovieFile' then movies_files_data
38
+ when 'Videos::SeriesDirectory' then series_files_data
39
+ else raise "Unknown type class: \"#{type_class}\""
40
+ end
41
+ end
42
+
43
+ def movies_files_data
44
+ r = []
45
+ Dir["#{root_path}/**/*"].each do |path|
46
+ r << file_data(path) if ::File.file?(path)
47
+ end
48
+ r
49
+ end
50
+
51
+ def series_files_data
52
+ r = []
53
+ Dir["#{root_path}/*"].each do |path|
54
+ r << file_data(path) if ::File.directory?(path)
55
+ end
56
+ r
57
+ end
58
+
59
+ def file_data(path)
60
+ r = { original_path: path }
61
+ r[:ffprobe_data] = file_ffprobe_data(path) if ::File.file?(path)
62
+ r
63
+ end
64
+
65
+ def file_ffprobe_data(path)
66
+ return {} unless options.fetch(:ffprobe)
67
+
68
+ infom "Probing \"#{path}\"..."
69
+ ::JSON.parse(::EhbrsRubyUtils::Executables.ffprobe.command(
70
+ '-hide_banner', '-print_format', 'json', '-show_format', '-show_streams', path
71
+ ).execute!)
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ehbrs-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-27 00:00:00.000000000 Z
11
+ date: 2020-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm-tools
@@ -124,6 +124,10 @@ files:
124
124
  - lib/ehbrs/runner/videos/series.rb
125
125
  - lib/ehbrs/runner/videos/series/rename.rb
126
126
  - lib/ehbrs/runner/videos/unsupported.rb
127
+ - lib/ehbrs/runner/web_utils.rb
128
+ - lib/ehbrs/runner/web_utils/videos.rb
129
+ - lib/ehbrs/runner/web_utils/videos/download.rb
130
+ - lib/ehbrs/runner/web_utils/videos/upload.rb
127
131
  - lib/ehbrs/self.rb
128
132
  - lib/ehbrs/self/observers/used_space.rb
129
133
  - lib/ehbrs/self/observers/with_persistence.rb
@@ -178,6 +182,37 @@ files:
178
182
  - lib/ehbrs/videos/unsupported/profiles/samsung.rb
179
183
  - lib/ehbrs/videos/unsupported/search.rb
180
184
  - lib/ehbrs/videos/unsupported/track.rb
185
+ - vendor/aranha-parsers/Gemfile
186
+ - vendor/aranha-parsers/aranha-parsers.gemspec
187
+ - vendor/aranha-parsers/lib/aranha/parsers.rb
188
+ - vendor/aranha-parsers/lib/aranha/parsers/base.rb
189
+ - vendor/aranha-parsers/lib/aranha/parsers/html.rb
190
+ - vendor/aranha-parsers/lib/aranha/parsers/html/base.rb
191
+ - vendor/aranha-parsers/lib/aranha/parsers/html/item.rb
192
+ - vendor/aranha-parsers/lib/aranha/parsers/html/item_list.rb
193
+ - vendor/aranha-parsers/lib/aranha/parsers/html/node.rb
194
+ - vendor/aranha-parsers/lib/aranha/parsers/html/node/base.rb
195
+ - vendor/aranha-parsers/lib/aranha/parsers/html/node/default.rb
196
+ - vendor/aranha-parsers/lib/aranha/parsers/invalid_state_exception.rb
197
+ - vendor/aranha-parsers/lib/aranha/parsers/patches.rb
198
+ - vendor/aranha-parsers/lib/aranha/parsers/patches/ofx_parser.rb
199
+ - vendor/aranha-parsers/lib/aranha/parsers/source_address.rb
200
+ - vendor/aranha-parsers/lib/aranha/parsers/source_address/file.rb
201
+ - vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_get.rb
202
+ - vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_post.rb
203
+ - vendor/aranha-parsers/lib/aranha/parsers/source_address/http_get.rb
204
+ - vendor/aranha-parsers/lib/aranha/parsers/source_target_fixtures.rb
205
+ - vendor/aranha-parsers/lib/aranha/parsers/spec/source_target_fixtures_example.rb
206
+ - vendor/aranha-parsers/lib/aranha/parsers/version.rb
207
+ - vendor/aranha-parsers/spec/lib/aranha/parsers/source_address/http_get_spec.rb
208
+ - vendor/aranha-parsers/spec/lib/aranha/parsers/source_address_spec.rb
209
+ - vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec.rb
210
+ - vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.source.txt
211
+ - vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.target.html
212
+ - vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub2.source.html
213
+ - vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub3.target.yaml
214
+ - vendor/aranha-parsers/spec/lib/rubocop_check_spec.rb
215
+ - vendor/aranha-parsers/spec/spec_helper.rb
181
216
  - vendor/aranha-selenium/Gemfile
182
217
  - vendor/aranha-selenium/aranha-selenium.gemspec
183
218
  - vendor/aranha-selenium/lib/aranha/selenium.rb
@@ -196,18 +231,23 @@ files:
196
231
  - vendor/eac_cli/lib/eac_cli/core_ext.rb
197
232
  - vendor/eac_cli/lib/eac_cli/default_runner.rb
198
233
  - vendor/eac_cli/lib/eac_cli/definition.rb
234
+ - vendor/eac_cli/lib/eac_cli/definition/alternative.rb
199
235
  - vendor/eac_cli/lib/eac_cli/definition/argument_option.rb
200
236
  - vendor/eac_cli/lib/eac_cli/definition/base_option.rb
201
237
  - vendor/eac_cli/lib/eac_cli/definition/boolean_option.rb
238
+ - vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb
202
239
  - vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb
203
240
  - vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb
241
+ - vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb
204
242
  - vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb
205
243
  - vendor/eac_cli/lib/eac_cli/parser.rb
244
+ - vendor/eac_cli/lib/eac_cli/parser/alternative.rb
245
+ - vendor/eac_cli/lib/eac_cli/parser/alternative/argv.rb
246
+ - vendor/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb
247
+ - vendor/eac_cli/lib/eac_cli/parser/alternative/options.rb
248
+ - vendor/eac_cli/lib/eac_cli/parser/alternative/positionals.rb
206
249
  - vendor/eac_cli/lib/eac_cli/parser/collector.rb
207
250
  - vendor/eac_cli/lib/eac_cli/parser/error.rb
208
- - vendor/eac_cli/lib/eac_cli/parser/options_collection.rb
209
- - vendor/eac_cli/lib/eac_cli/parser/parse_result.rb
210
- - vendor/eac_cli/lib/eac_cli/parser/positional_collection.rb
211
251
  - vendor/eac_cli/lib/eac_cli/patches.rb
212
252
  - vendor/eac_cli/lib/eac_cli/patches/object.rb
213
253
  - vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb
@@ -216,8 +256,14 @@ files:
216
256
  - vendor/eac_cli/lib/eac_cli/runner_with.rb
217
257
  - vendor/eac_cli/lib/eac_cli/runner_with/help.rb
218
258
  - vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb
259
+ - vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb
219
260
  - vendor/eac_cli/lib/eac_cli/version.rb
261
+ - vendor/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb
262
+ - vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb
263
+ - vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb
220
264
  - vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb
265
+ - vendor/eac_cli/spec/lib/eac_cli/runner_with/output_file_spec.rb
266
+ - vendor/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb
221
267
  - vendor/eac_cli/spec/rubocop_spec.rb
222
268
  - vendor/eac_cli/spec/spec_helper.rb
223
269
  - vendor/eac_docker/Gemfile
@@ -238,15 +284,22 @@ files:
238
284
  - vendor/eac_ruby_utils/README.rdoc
239
285
  - vendor/eac_ruby_utils/eac_ruby_utils.gemspec
240
286
  - vendor/eac_ruby_utils/lib/eac_ruby_utils.rb
287
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/abstract_methods.rb
241
288
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb
289
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb
242
290
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb
243
291
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/by_reference.rb
244
292
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb
245
293
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb
246
294
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/configs.rb
295
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/base.rb
247
296
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/file.rb
248
297
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/console.rb
249
298
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb
299
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/entry_reader.rb
300
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/password_entry_reader.rb
301
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/read_entry_options.rb
302
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb
250
303
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner.rb
251
304
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb
252
305
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_doc.rb
@@ -276,6 +329,7 @@ files:
276
329
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb
277
330
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/filesystem_cache.rb
278
331
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/fs.rb
332
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb
279
333
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/extname.rb
280
334
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/temp.rb
281
335
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/directory.rb
@@ -309,10 +363,14 @@ files:
309
363
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/class/common_constructor.rb
310
364
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable.rb
311
365
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable/boolean_combinations.rb
366
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb
367
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb
368
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb
312
369
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash.rb
313
370
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/options_consumer.rb
314
371
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb
315
372
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module.rb
373
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb
316
374
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb
317
375
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/console_speaker.rb
318
376
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb
@@ -322,6 +380,7 @@ files:
322
380
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/simple_cache.rb
323
381
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object.rb
324
382
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/asserts.rb
383
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb
325
384
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_present.rb
326
385
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_respond.rb
327
386
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/template.rb
@@ -336,6 +395,9 @@ files:
336
395
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb
337
396
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/local_time_zone.rb
338
397
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb
398
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb
399
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb
400
+ - vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/path_search.rb
339
401
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb
340
402
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec.rb
341
403
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/conditional.rb
@@ -358,7 +420,9 @@ files:
358
420
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/hash.rb
359
421
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb
360
422
  - vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb
423
+ - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/abstract_methods_spec.rb
361
424
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/arguments_consumer_spec.rb
425
+ - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb
362
426
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
363
427
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
364
428
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb
@@ -376,6 +440,8 @@ files:
376
440
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb
377
441
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/options_consumer_spec.rb
378
442
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerable/boolean_combinations_spec.rb
443
+ - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb
444
+ - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb
379
445
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/options_consumer_spec.rb
380
446
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/sym_keys_hash_spec.rb
381
447
  - vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/console_speaker_spec.rb
@@ -411,10 +477,15 @@ files:
411
477
  - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/version.rb
412
478
  - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos.rb
413
479
  - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container.rb
414
- - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/file.rb
415
- - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container/info.rb
480
+ - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/convert_job.rb
416
481
  - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/quality.rb
417
482
  - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/resolution.rb
483
+ - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/stream.rb
484
+ - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils.rb
485
+ - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/instance.rb
486
+ - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos.rb
487
+ - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
488
+ - vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/files_list.rb
418
489
  - vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb
419
490
  - vendor/ehbrs_ruby_utils/spec/rubocop_check_spec.rb
420
491
  - vendor/ehbrs_ruby_utils/spec/spec_helper.rb
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacCli
6
- class Parser
7
- class ParseResult
8
- common_constructor :definition, :argv
9
-
10
- def result
11
- ::EacCli::Parser::Collector.to_data(definition) do |collector|
12
- ::EacCli::Parser::PositionalCollection.new(
13
- definition,
14
- ::EacCli::Parser::OptionsCollection.new(definition, argv, collector).arguments,
15
- collector
16
- )
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_cli/parser/error'
5
-
6
- module EacCli
7
- class Parser
8
- class PositionalCollection
9
- common_constructor(:definition, :argv, :collector) { collect }
10
-
11
- private
12
-
13
- def collected
14
- @collected ||= ::Set.new
15
- end
16
-
17
- def collect
18
- argv.each { |argv_value| colect_argv_value(argv_value) }
19
- return unless pending_required_positional?
20
-
21
- raise ::EacCli::Parser::Error.new(
22
- definition, argv, 'No value for required positional ' \
23
- "\"#{current_positional.identifier}\""
24
- )
25
- end
26
-
27
- def colect_argv_value(argv_value)
28
- collector.collect(current_positional, argv_value)
29
- collected << current_positional
30
- positional_enumerator.next unless current_positional.repeat?
31
- end
32
-
33
- def pending_required_positional?
34
- !(current_positional.blank? || current_positional.optional? ||
35
- collected.include?(current_positional))
36
- end
37
-
38
- def positional_enumerator
39
- @positional_enumerator ||= definition.positional.each
40
- end
41
-
42
- def current_positional
43
- positional_enumerator.peek
44
- rescue ::StopIteration
45
- nil
46
- end
47
- end
48
- end
49
- end