ehbrs-tools 0.20.0 → 0.23.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. checksums.yaml +4 -4
  2. data/exe/ehbrs +2 -2
  3. data/lib/ehbrs/core_ext.rb +4 -0
  4. data/lib/ehbrs/music/album.rb +2 -0
  5. data/lib/ehbrs/patches.rb +4 -0
  6. data/lib/ehbrs/patches/object/template.rb +2 -2
  7. data/lib/ehbrs/tools/runner.rb +21 -0
  8. data/lib/ehbrs/tools/runner/cooking_book.rb +32 -0
  9. data/lib/ehbrs/tools/runner/cooking_book/build.rb +52 -0
  10. data/lib/ehbrs/{runner/videos/series.rb → tools/runner/finances.rb} +4 -4
  11. data/lib/ehbrs/tools/runner/finances/bb_browser.rb +37 -0
  12. data/lib/ehbrs/tools/runner/fs.rb +18 -0
  13. data/lib/ehbrs/tools/runner/fs/selected.rb +81 -0
  14. data/lib/ehbrs/tools/runner/fs/used_space.rb +161 -0
  15. data/lib/ehbrs/tools/runner/google.rb +18 -0
  16. data/lib/ehbrs/tools/runner/google/translate.rb +89 -0
  17. data/lib/ehbrs/tools/runner/music.rb +18 -0
  18. data/lib/ehbrs/tools/runner/music/selected.rb +28 -0
  19. data/lib/ehbrs/tools/runner/self.rb +18 -0
  20. data/lib/ehbrs/tools/runner/self/test.rb +27 -0
  21. data/lib/ehbrs/tools/runner/telegram.rb +28 -0
  22. data/lib/ehbrs/tools/runner/telegram/send_message.rb +31 -0
  23. data/lib/ehbrs/tools/runner/vg.rb +18 -0
  24. data/lib/ehbrs/tools/runner/vg/ips.rb +134 -0
  25. data/lib/ehbrs/tools/runner/vg/wii.rb +74 -0
  26. data/lib/ehbrs/{runner/web_utils → tools/runner}/videos.rb +3 -3
  27. data/lib/ehbrs/tools/runner/videos/extract.rb +70 -0
  28. data/lib/ehbrs/tools/runner/videos/probe.rb +34 -0
  29. data/lib/ehbrs/tools/runner/videos/series.rb +20 -0
  30. data/lib/ehbrs/tools/runner/videos/series/rename.rb +74 -0
  31. data/lib/ehbrs/tools/runner/videos/unsupported.rb +61 -0
  32. data/lib/ehbrs/tools/runner/web_utils.rb +26 -0
  33. data/lib/ehbrs/tools/runner/web_utils/videos.rb +20 -0
  34. data/lib/ehbrs/tools/runner/web_utils/videos/download.rb +65 -0
  35. data/lib/ehbrs/tools/runner/web_utils/videos/upload.rb +77 -0
  36. data/lib/ehbrs/tools/version.rb +1 -1
  37. data/lib/ehbrs/vg/wii/game_file.rb +10 -0
  38. data/lib/ehbrs/videos/convert_job.rb +1 -1
  39. data/lib/ehbrs/videos/series/rename/line_result.rb +1 -1
  40. data/lib/ehbrs/videos/unsupported/check_support.rb +12 -7
  41. data/lib/ehbrs/videos/unsupported/search.rb +1 -1
  42. data/lib/ehbrs/videos/unsupported/track.rb +1 -1
  43. data/vendor/aranha-parsers/aranha-parsers.gemspec +1 -1
  44. data/vendor/aranha-parsers/lib/aranha/parsers/source_address.rb +10 -8
  45. data/vendor/aranha-parsers/lib/aranha/parsers/version.rb +1 -1
  46. data/vendor/aranha-parsers/spec/lib/rubocop_check_spec.rb +1 -5
  47. data/vendor/aranha-parsers/spec/spec_helper.rb +3 -0
  48. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/base.rb +8 -0
  49. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/chrome.rb +10 -5
  50. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/firefox.rb +25 -11
  51. data/vendor/aranha-selenium/lib/aranha/selenium/version.rb +1 -1
  52. data/vendor/eac_cli/eac_cli.gemspec +4 -2
  53. data/vendor/eac_cli/lib/eac_cli/config.rb +18 -0
  54. data/vendor/eac_cli/lib/eac_cli/config/entry.rb +48 -0
  55. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/console/configs/read_entry_options.rb → eac_cli/lib/eac_cli/config/entry/options.rb} +20 -9
  56. data/vendor/eac_cli/lib/eac_cli/config/entry/undefined.rb +26 -0
  57. data/vendor/eac_cli/lib/eac_cli/default_runner.rb +1 -1
  58. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +5 -1
  59. data/vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb +3 -2
  60. data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +6 -1
  61. data/vendor/eac_cli/lib/eac_cli/old_configs.rb +35 -0
  62. data/vendor/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +80 -0
  63. data/vendor/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +16 -0
  64. data/vendor/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +44 -0
  65. data/vendor/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +25 -0
  66. data/vendor/eac_cli/lib/eac_cli/old_configs_bridge.rb +39 -0
  67. data/vendor/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +4 -2
  68. data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +1 -1
  69. data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -2
  70. data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +20 -3
  71. data/vendor/eac_cli/lib/eac_cli/runner/context.rb +2 -1
  72. data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +12 -1
  73. data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +9 -4
  74. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder.rb +73 -0
  75. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +56 -0
  76. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +10 -4
  77. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +10 -0
  78. data/vendor/eac_cli/lib/eac_cli/speaker.rb +127 -0
  79. data/vendor/eac_cli/lib/eac_cli/speaker/_constants.rb +12 -0
  80. data/vendor/eac_cli/lib/eac_cli/speaker/list.rb +61 -0
  81. data/vendor/eac_cli/lib/eac_cli/speaker/options.rb +38 -0
  82. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  83. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils/console/configs_spec.rb → eac_cli/spec/lib/eac_cli/old_configs_spec.rb} +2 -2
  84. data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +1 -1
  85. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -1
  86. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils/console → eac_cli/spec/lib/eac_cli}/speaker_spec.rb +7 -11
  87. data/vendor/eac_cli/spec/rubocop_spec.rb +1 -5
  88. data/vendor/eac_cli/spec/spec_helper.rb +3 -0
  89. data/vendor/eac_config/Gemfile +5 -0
  90. data/vendor/eac_config/eac_config.gemspec +19 -0
  91. data/vendor/eac_config/lib/eac_config.rb +7 -0
  92. data/vendor/eac_config/lib/eac_config/entry.rb +49 -0
  93. data/vendor/eac_config/lib/eac_config/entry_path.rb +41 -0
  94. data/vendor/eac_config/lib/eac_config/envvars_node.rb +25 -0
  95. data/vendor/eac_config/lib/eac_config/envvars_node/entry.rb +54 -0
  96. data/vendor/eac_config/lib/eac_config/load_nodes_search.rb +39 -0
  97. data/vendor/eac_config/lib/eac_config/load_path.rb +28 -0
  98. data/vendor/eac_config/lib/eac_config/node.rb +67 -0
  99. data/vendor/eac_config/lib/eac_config/node_entry.rb +18 -0
  100. data/vendor/eac_config/lib/eac_config/node_uri.rb +38 -0
  101. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/configs.rb → eac_config/lib/eac_config/old_configs.rb} +6 -5
  102. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/configs → eac_config/lib/eac_config/old_configs}/base.rb +5 -5
  103. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/configs → eac_config/lib/eac_config/old_configs}/file.rb +4 -4
  104. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash.rb +8 -8
  105. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash/entry_key_error.rb +1 -1
  106. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash/node.rb +2 -2
  107. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash/path_search.rb +4 -4
  108. data/vendor/eac_config/lib/eac_config/version.rb +5 -0
  109. data/vendor/eac_config/lib/eac_config/yaml_file_node.rb +48 -0
  110. data/vendor/eac_config/lib/eac_config/yaml_file_node/entry.rb +37 -0
  111. data/vendor/eac_config/spec/lib/eac_config/entry_path_spec.rb +30 -0
  112. data/vendor/eac_config/spec/lib/eac_config/envvars_node/entry_spec.rb +14 -0
  113. data/vendor/eac_config/spec/lib/eac_config/envvars_node_spec.rb +40 -0
  114. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb → eac_config/spec/lib/eac_config/old_configs_spec.rb} +2 -2
  115. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils → eac_config/spec/lib/eac_config}/paths_hash_spec.rb +6 -6
  116. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec.rb +52 -0
  117. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1.yaml +6 -0
  118. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_1.yaml +2 -0
  119. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2.yaml +4 -0
  120. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2/storage1_2_1.yaml +2 -0
  121. data/vendor/eac_config/spec/rubocop_spec.rb +3 -0
  122. data/vendor/eac_config/spec/spec_helper.rb +17 -0
  123. data/vendor/eac_docker/eac_docker.gemspec +3 -2
  124. data/vendor/eac_docker/lib/eac_docker/debug.rb +15 -0
  125. data/vendor/eac_docker/lib/eac_docker/images/coded.rb +4 -0
  126. data/vendor/eac_docker/lib/eac_docker/images/templatized.rb +13 -2
  127. data/vendor/eac_docker/lib/eac_docker/version.rb +1 -1
  128. data/vendor/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +2 -1
  129. data/vendor/eac_docker/spec/rubocop_spec.rb +1 -5
  130. data/vendor/eac_docker/spec/spec_helper.rb +3 -0
  131. data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +4 -4
  132. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +23 -9
  133. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +34 -0
  134. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +4 -0
  135. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +2 -2
  136. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +22 -12
  137. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +43 -0
  138. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/input.rb +36 -0
  139. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/output.rb +58 -0
  140. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  141. data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/confirmation_spec.rb +42 -0
  142. data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/output_spec.rb +81 -0
  143. data/vendor/eac_ruby_base0/spec/rubocop_spec.rb +1 -5
  144. data/vendor/eac_ruby_base0/spec/spec_helper.rb +3 -0
  145. data/vendor/eac_ruby_utils/eac_ruby_utils.gemspec +2 -3
  146. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +1 -1
  147. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/context.rb +31 -0
  148. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +12 -7
  149. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +10 -5
  150. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/filesystem_cache.rb +6 -0
  151. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/logs.rb +63 -0
  152. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +9 -1
  153. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +3 -2
  154. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +4 -2
  155. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -1
  156. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +11 -0
  157. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +9 -0
  158. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +11 -0
  159. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +10 -0
  160. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +4 -2
  161. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +34 -0
  162. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/conditional.rb +1 -4
  163. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +10 -29
  164. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +69 -0
  165. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +26 -5
  166. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +16 -0
  167. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +57 -0
  168. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +32 -0
  169. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  170. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/speaker_spec.rb +13 -0
  171. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +33 -0
  172. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +8 -0
  173. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +27 -0
  174. data/vendor/eac_ruby_utils/spec/rubocop_check_spec.rb +1 -5
  175. data/vendor/eac_ruby_utils/spec/spec_helper.rb +3 -0
  176. data/vendor/ehbrs_ruby_utils/ehbrs_ruby_utils.gemspec +3 -2
  177. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/version.rb +1 -1
  178. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/convert_job.rb +1 -1
  179. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/stream.rb +11 -1
  180. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/files_list.rb +1 -1
  181. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb +14 -0
  182. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml +28 -0
  183. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.target.yaml +7 -0
  184. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.source.yaml +49 -0
  185. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml +7 -0
  186. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.source.yaml +43 -0
  187. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.target.yaml +7 -0
  188. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.source.yaml +59 -0
  189. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml +7 -0
  190. data/vendor/ehbrs_ruby_utils/spec/rubocop_check_spec.rb +1 -5
  191. data/vendor/ehbrs_ruby_utils/spec/spec_helper.rb +3 -0
  192. metadata +133 -91
  193. data/lib/ehbrs/runner.rb +0 -19
  194. data/lib/ehbrs/runner/cooking_book.rb +0 -30
  195. data/lib/ehbrs/runner/cooking_book/build.rb +0 -32
  196. data/lib/ehbrs/runner/finances.rb +0 -16
  197. data/lib/ehbrs/runner/finances/bb_browser.rb +0 -35
  198. data/lib/ehbrs/runner/fs.rb +0 -16
  199. data/lib/ehbrs/runner/fs/used_space.rb +0 -160
  200. data/lib/ehbrs/runner/google.rb +0 -16
  201. data/lib/ehbrs/runner/google/translate.rb +0 -87
  202. data/lib/ehbrs/runner/music.rb +0 -16
  203. data/lib/ehbrs/runner/music/selected.rb +0 -63
  204. data/lib/ehbrs/runner/self.rb +0 -16
  205. data/lib/ehbrs/runner/self/test.rb +0 -25
  206. data/lib/ehbrs/runner/telegram.rb +0 -26
  207. data/lib/ehbrs/runner/telegram/send_message.rb +0 -29
  208. data/lib/ehbrs/runner/vg.rb +0 -16
  209. data/lib/ehbrs/runner/vg/ips.rb +0 -132
  210. data/lib/ehbrs/runner/vg/wii.rb +0 -72
  211. data/lib/ehbrs/runner/videos.rb +0 -16
  212. data/lib/ehbrs/runner/videos/extract.rb +0 -68
  213. data/lib/ehbrs/runner/videos/probe.rb +0 -32
  214. data/lib/ehbrs/runner/videos/series/rename.rb +0 -72
  215. data/lib/ehbrs/runner/videos/unsupported.rb +0 -59
  216. data/lib/ehbrs/runner/web_utils.rb +0 -24
  217. data/lib/ehbrs/runner/web_utils/videos/download.rb +0 -63
  218. data/lib/ehbrs/runner/web_utils/videos/upload.rb +0 -75
  219. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +0 -69
  220. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb +0 -50
  221. data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +0 -15
  222. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +0 -51
  223. data/vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb +0 -30
  224. data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +0 -35
  225. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/output_file_spec.rb +0 -53
  226. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmable.rb +0 -21
  227. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console.rb +0 -5
  228. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb +0 -38
  229. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/entry_reader.rb +0 -81
  230. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/password_entry_reader.rb +0 -18
  231. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb +0 -27
  232. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner.rb +0 -45
  233. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb +0 -18
  234. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_doc.rb +0 -25
  235. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_settings.rb +0 -19
  236. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb +0 -154
  237. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker.rb +0 -133
  238. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/_class_methods.rb +0 -39
  239. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/_constants.rb +0 -14
  240. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/list.rb +0 -63
  241. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/node.rb +0 -26
  242. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/console_speaker.rb +0 -10
  243. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/template.rb +0 -10
  244. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/template.rb +0 -9
  245. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates.rb +0 -9
  246. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/directory.rb +0 -110
  247. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/file.rb +0 -50
  248. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/searcher.rb +0 -55
  249. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_not_found_error.rb +0 -7
  250. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers.rb +0 -25
  251. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/base.rb +0 -23
  252. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/entries_reader.rb +0 -25
  253. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/generic.rb +0 -25
  254. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/hash.rb +0 -29
  255. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/docopt_runner_spec.rb +0 -136
  256. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/console_speaker_spec.rb +0 -13
  257. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/template_spec.rb +0 -23
  258. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/file_spec.rb +0 -35
  259. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/file_spec_files/expected_content +0 -2
  260. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/file_spec_files/source.template +0 -2
  261. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec.rb +0 -30
  262. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec_files/path1/subdir1/file1.template +0 -1
  263. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec_files/path1/subdir1/file2 +0 -1
  264. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec_files/path2/subdir1/file3.template +0 -1
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ehbrs
4
4
  module Tools
5
- VERSION = '0.20.0'
5
+ VERSION = '0.23.1'
6
6
  end
7
7
  end
@@ -20,8 +20,10 @@ module Ehbrs
20
20
  D: :disc_number,
21
21
  e: :extname,
22
22
  i: :id6,
23
+ m: :normalized_disc_name,
23
24
  n: :disc_name,
24
25
  N: :nintendont_basename,
26
+ s: :sanitized_disc_name,
25
27
  t: :database_title,
26
28
  T: :disc_type
27
29
  )
@@ -46,6 +48,10 @@ module Ehbrs
46
48
  FORMAT.format(string).with(self)
47
49
  end
48
50
 
51
+ def normalized_disc_name
52
+ sanitized_disc_name.downcase
53
+ end
54
+
49
55
  def nintendont_basename
50
56
  n = disc_number
51
57
  n == 1 ? 'game' : "disc#{n}"
@@ -55,6 +61,10 @@ module Ehbrs
55
61
  properties.fetch('Disc & part IDs/disc')
56
62
  end
57
63
 
64
+ def sanitized_disc_name
65
+ ::ActiveSupport::Inflector.transliterate(disc_name).gsub(/[^0-9a-z ]/i, '')
66
+ end
67
+
58
68
  def valid?
59
69
  properties.present?
60
70
  end
@@ -7,7 +7,7 @@ require 'fileutils'
7
7
  module Ehbrs
8
8
  module Videos
9
9
  class ConvertJob
10
- enable_console_speaker
10
+ enable_speaker
11
11
  enable_simple_cache
12
12
 
13
13
  FORMATS_TO_EXTENSIONS = {
@@ -8,7 +8,7 @@ module Ehbrs
8
8
  module Rename
9
9
  class LineResult
10
10
  enable_simple_cache
11
- enable_console_speaker
11
+ enable_speaker
12
12
 
13
13
  def show(level)
14
14
  out(padding_level(level) + line_out + "\n")
@@ -1,16 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_ruby_utils/core_ext'
3
4
  require 'ehbrs/videos/unsupported/check_result'
4
5
 
5
6
  module Ehbrs
6
7
  module Videos
7
8
  module Unsupported
8
9
  module CheckSupport
9
- extend ::ActiveSupport::Concern
10
-
11
- included do
12
- include ::EacRubyUtils::Console::Speaker
13
- include ::EacRubyUtils::SimpleCache
10
+ common_concern do
11
+ enable_simple_cache
12
+ enable_speaker
14
13
  end
15
14
 
16
15
  def aggressions_banner(title)
@@ -57,11 +56,17 @@ module Ehbrs
57
56
  end
58
57
 
59
58
  def pad_speaker
60
- on_speaker_node do |node|
61
- node.stderr_line_prefix = node.stderr_line_prefix.to_s + ' '
59
+ ::EacRubyUtils::Speaker.context.on(::EacCli::Speaker.new(err_line_prefix: ' ')) do
62
60
  yield
63
61
  end
64
62
  end
63
+
64
+ def new_padded_cli_speaker
65
+ ::EacCli::Speaker.new(
66
+ err_line_prefix(::EacRubyUtils::Speaker.context.optional_current
67
+ .if_present('') { |v| v.is_a?(::EacCli::Speaker) ? v.err_line_prefix : '' } + ' ')
68
+ )
69
+ end
65
70
  end
66
71
  end
67
72
  end
@@ -9,7 +9,7 @@ module Ehbrs
9
9
  module Unsupported
10
10
  class Search
11
11
  include ::EacRubyUtils::Fs::Traversable
12
- enable_console_speaker
12
+ enable_speaker
13
13
  enable_simple_cache
14
14
 
15
15
  VALID_EXTENSIONS = %w[.avi .mp4 .mkv .m4v].freeze
@@ -8,7 +8,7 @@ module Ehbrs
8
8
  class Track < ::SimpleDelegator
9
9
  include ::Ehbrs::Videos::Unsupported::CheckSupport
10
10
 
11
- enable_console_speaker
11
+ enable_speaker
12
12
  enable_simple_cache
13
13
  attr_reader :video
14
14
 
@@ -19,5 +19,5 @@ Gem::Specification.new do |s|
19
19
  s.add_dependency 'httpclient', '~> 2.8', '>= 2.8.3'
20
20
  s.add_dependency 'ofx-parser', '~> 1.1.0'
21
21
 
22
- s.add_development_dependency 'eac_ruby_gem_support', '~> 0.1'
22
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
23
23
  end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'active_support/core_ext/module/delegation'
4
- require 'eac_ruby_utils/require_sub'
4
+ require 'eac_ruby_utils/core_ext'
5
5
  require 'yaml'
6
6
 
7
7
  module Aranha
8
8
  module Parsers
9
9
  class SourceAddress
10
- ::EacRubyUtils.require_sub __FILE__
10
+ require_sub __FILE__
11
11
 
12
12
  class << self
13
13
  SUBS = [
@@ -35,12 +35,8 @@ module Aranha
35
35
  end
36
36
  end
37
37
 
38
- attr_reader :sub
39
-
40
- def initialize(source)
41
- @sub = self.class.detect_sub(source)
42
- end
43
-
38
+ enable_simple_cache
39
+ common_constructor :source
44
40
  delegate :content, :url, to: :sub
45
41
 
46
42
  def to_s
@@ -50,6 +46,12 @@ module Aranha
50
46
  def serialize
51
47
  sub.serialize.strip + "\n"
52
48
  end
49
+
50
+ private
51
+
52
+ def sub_uncached
53
+ self.class.detect_sub(source)
54
+ end
53
55
  end
54
56
  end
55
57
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Aranha
4
4
  module Parsers
5
- VERSION = '0.7.0'
5
+ VERSION = '0.7.2'
6
6
  end
7
7
  end
@@ -1,7 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_gem_support/spec/examples/rubocop_check'
4
-
5
- RSpec.describe ::RuboCop do
6
- include_examples 'rubocop_check', ::File.expand_path('../..', __dir__)
7
- end
3
+ ::EacRubyGemSupport::Rspec.default.describe_rubocop
@@ -5,4 +5,7 @@ require 'tmpdir'
5
5
 
6
6
  RSpec.configure do |config|
7
7
  config.example_status_persistence_file_path = ::File.join(::Dir.tmpdir, 'aranha-parsers_rspec')
8
+
9
+ require 'eac_ruby_gem_support/rspec'
10
+ ::EacRubyGemSupport::Rspec.setup(::File.expand_path('..', __dir__), config)
8
11
  end
@@ -57,6 +57,14 @@ module Aranha
57
57
  option_value(:headless)
58
58
  end
59
59
 
60
+ def profile_dir
61
+ options[:profile_dir].to_s
62
+ end
63
+
64
+ def profile_name
65
+ options[:profile_name]
66
+ end
67
+
60
68
  def user_agent
61
69
  option_value(:user_agent)
62
70
  end
@@ -14,14 +14,19 @@ module Aranha
14
14
 
15
15
  def chrome_options
16
16
  r = ::Selenium::WebDriver::Chrome::Options.new
17
- r.add_argument('--ignore-certificate-errors') if accept_insecure_certs?
18
- r.add_argument('--headless') if headless?
19
- r.add_argument('--disable-popup-blocking')
20
- r.add_argument('--disable-translate')
21
- r.add_argument("user-agent=#{user_agent}") if user_agent.present?
17
+ chrome_arguments.each { |arg| r.add_argument(arg) }
22
18
  r.add_preference(:download, prompt_for_download: false, default_directory: downloads_dir)
23
19
  r
24
20
  end
21
+
22
+ def chrome_arguments
23
+ r = %w[--disable-popup-blocking --disable-translate]
24
+ r << '--ignore-certificate-errors' if accept_insecure_certs?
25
+ r << '--headless' if headless?
26
+ r << "--user-agent=#{user_agent}" if user_agent.present?
27
+ r << "--user-data-dir=#{profile_dir}" if profile_dir.present?
28
+ r
29
+ end
25
30
  end
26
31
  end
27
32
  end
@@ -9,10 +9,7 @@ module Aranha
9
9
  def build
10
10
  ::Selenium::WebDriver.for(
11
11
  :firefox,
12
- options: ::Selenium::WebDriver::Firefox::Options.new(
13
- profile: build_profile,
14
- args: build_args
15
- ),
12
+ options: build_options,
16
13
  desired_capabilities: build_capabilities
17
14
  )
18
15
  end
@@ -21,7 +18,7 @@ module Aranha
21
18
 
22
19
  def build_args
23
20
  r = []
24
- r << '-headless' if headless?
21
+ r << '--headless' if headless?
25
22
  r
26
23
  end
27
24
 
@@ -33,16 +30,33 @@ module Aranha
33
30
  end
34
31
  end
35
32
 
36
- def build_profile
37
- r = ::Selenium::WebDriver::Firefox::Profile.new
38
- r['browser.download.dir'] = downloads_dir
39
- r['browser.download.folderList'] = 2
40
- r['browser.helperApps.neverAsk.saveToDisk'] = auto_download_mime_types.join(';')
41
- r['pdfjs.disabled'] = true
33
+ def build_options
34
+ r = ::Selenium::WebDriver::Firefox::Options.new(args: build_args,
35
+ prefs: build_preferences)
36
+ build_profile.if_present { |v| r.profile = v }
37
+ r
38
+ end
39
+
40
+ def build_preferences
41
+ r = {
42
+ 'browser.download.dir' => downloads_dir,
43
+ 'browser.download.folderList' => 2,
44
+ 'browser.helperApps.neverAsk.saveToDisk' => auto_download_mime_types.join(';'),
45
+ 'pdfjs.disabled' => true
46
+ }
42
47
  r['general.useragent.override'] = user_agent if user_agent.present?
43
48
  r
44
49
  end
45
50
 
51
+ def build_profile
52
+ if profile_name.present?
53
+ ::Selenium::WebDriver::Firefox::Profile.from_name(v)
54
+ elsif profile_dir.present?
55
+ ::FileUtils.mkdir_p(profile_dir)
56
+ ::Selenium::WebDriver::Firefox::Profile.new(profile_dir)
57
+ end
58
+ end
59
+
46
60
  def auto_download_mime_types
47
61
  ::File.read(
48
62
  ::File.join(__dir__, 'firefox_auto_download_mime_types')
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Aranha
4
4
  module Selenium
5
- VERSION = '0.1.3'
5
+ VERSION = '0.2.0'
6
6
  end
7
7
  end
@@ -12,7 +12,9 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*', 'Gemfile']
14
14
 
15
- s.add_dependency 'eac_ruby_utils', '~> 0.55'
15
+ s.add_dependency 'colorize', '~> 0.8.1'
16
+ s.add_dependency 'eac_config', '~> 0.3'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.67'
16
18
 
17
- s.add_development_dependency 'eac_ruby_gem_support', '~> 0.1', '>= 0.1.2'
19
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
18
20
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacCli
6
+ class Config
7
+ require_sub __FILE__
8
+ attr_reader :sub
9
+
10
+ def initialize(sub_node)
11
+ @sub = sub_node
12
+ end
13
+
14
+ def entry(path, options = {})
15
+ ::EacCli::Config::Entry.new(self, path, options)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/speaker'
4
+ require 'eac_config/entry_path'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module EacCli
8
+ class Config
9
+ class Entry
10
+ require_sub __FILE__, include_modules: true
11
+ enable_listable
12
+ enable_simple_cache
13
+ enable_speaker
14
+
15
+ common_constructor :config, :path, :options do
16
+ self.path = ::EacConfig::EntryPath.assert(path)
17
+ self.options = ::EacCli::Config::Entry::Options.new(options)
18
+ end
19
+
20
+ def value
21
+ return sub_value_to_return if sub_entry.found?
22
+ return nil unless options.required?
23
+
24
+ puts "|#{sub_entry.path}|"
25
+
26
+ input_value
27
+ end
28
+
29
+ delegate :found?, :value=, to: :sub_entry
30
+
31
+ private
32
+
33
+ def sub_value_to_return
34
+ sub_entry.value.presence || ::EacRubyUtils::BlankNotBlank.instance
35
+ end
36
+
37
+ def sub_entry_uncached
38
+ config.sub.entry(path)
39
+ end
40
+
41
+ def input_value_uncached
42
+ r = send("#{options.type}_value")
43
+ sub_entry.value = r if options.store?
44
+ r
45
+ end
46
+ end
47
+ end
48
+ end
@@ -2,21 +2,26 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
- module EacRubyUtils
6
- module Console
7
- class Configs
8
- class ReadEntryOptions
5
+ module EacCli
6
+ class Config
7
+ class Entry
8
+ class Options
9
9
  enable_simple_cache
10
- common_constructor :options do
11
- self.options = options.to_h.symbolize_keys
12
- .assert_valid_keys(DEFAULT_VALUES.keys).freeze
13
- end
10
+ enable_listable
11
+
12
+ lists.add_symbol :type, :undefined
14
13
 
15
14
  DEFAULT_VALUES = {
16
15
  before_input: nil, bool: false, list: false, noecho: false, noenv: false, noinput: false,
17
- required: true, store: true, validator: nil
16
+ required: true, store: true, type: TYPE_UNDEFINED, validator: nil
18
17
  }.freeze
19
18
 
19
+ lists.add_symbol :option, *DEFAULT_VALUES.keys
20
+
21
+ common_constructor :options do
22
+ self.options = self.class.lists.option.hash_keys_validate!(options)
23
+ end
24
+
20
25
  delegate :to_h, to: :options
21
26
 
22
27
  def [](key)
@@ -27,6 +32,12 @@ module EacRubyUtils
27
32
  values.slice(:bool, :list, :noecho)
28
33
  end
29
34
 
35
+ DEFAULT_VALUES.each do |attr, default_value|
36
+ define_method(attr.to_s + ([true, false].include?(default_value) ? '?' : '')) do
37
+ self[attr]
38
+ end
39
+ end
40
+
30
41
  private
31
42
 
32
43
  def values_uncached