ehbrs_ruby_utils 0.45.0 → 0.46.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_ruby_utils/bga/session/player_tables_on_game_in_progress.rb +1 -0
- data/lib/ehbrs_ruby_utils/bga/session/player_tables_on_game_stats.rb +1 -0
- data/lib/ehbrs_ruby_utils/bga/session/table.rb +1 -0
- data/lib/ehbrs_ruby_utils/bga/session.rb +1 -0
- data/lib/ehbrs_ruby_utils/bga/table/whatsapp_formatters/base.rb +1 -0
- data/lib/ehbrs_ruby_utils/bga/table.rb +4 -3
- data/lib/ehbrs_ruby_utils/circular_list_spreader/group_level.rb +1 -0
- data/lib/ehbrs_ruby_utils/cooking_book/recipe/measure.rb +1 -1
- data/lib/ehbrs_ruby_utils/gjt1/manager.rb +1 -0
- data/lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb +1 -0
- data/lib/ehbrs_ruby_utils/version.rb +1 -1
- data/lib/ehbrs_ruby_utils/vg/nds/organizer/base_file.rb +46 -0
- data/lib/ehbrs_ruby_utils/vg/nds/organizer/file_manager.rb +55 -0
- data/lib/ehbrs_ruby_utils/vg/nds/organizer/rom_file.rb +17 -0
- data/lib/ehbrs_ruby_utils/vg/nds/organizer/save_file.rb +25 -0
- data/lib/ehbrs_ruby_utils/vg/nds/organizer.rb +65 -0
- data/lib/ehbrs_ruby_utils/vg/wii/wit/image_format.rb +4 -4
- data/lib/ehbrs_ruby_utils/vg/wii/wit/parsers/dump.rb +1 -1
- data/lib/ehbrs_ruby_utils/videos2/profiles/base.rb +1 -0
- data/lib/ehbrs_ruby_utils/videos2/unsupported/search.rb +1 -0
- metadata +19 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6553b0cae92871af9a27244c6cccf904272cc958621e9e52e3e23d929d87a76c
|
|
4
|
+
data.tar.gz: 98e3dc2bdcee178220796253db2d828acd1732baaff02d4283a729d51e3cb823
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: acbe4a2a7b6f1a6b2418d6aa145ff064e1190e85f3b7e616a8895dd4246b7cd97f546a9afec0dc5d5cca1abba6e54eb9bff4230fdb504d9363352a434cd68868
|
|
7
|
+
data.tar.gz: e58bc13aca373152f81272311d82bda41a55c2532d42ddf41b604e35958c784b95b55b0067b29953e3492b9b005ef48b56cde6fab80d88b5b5c0d3b072384dff
|
|
@@ -4,6 +4,7 @@ module EhbrsRubyUtils
|
|
|
4
4
|
module Bga
|
|
5
5
|
class Table
|
|
6
6
|
include ::EhbrsRubyUtils::Bga::Urls
|
|
7
|
+
|
|
7
8
|
enable_simple_cache
|
|
8
9
|
common_constructor :data
|
|
9
10
|
|
|
@@ -14,9 +15,9 @@ module EhbrsRubyUtils
|
|
|
14
15
|
|
|
15
16
|
([:id] + ::EhbrsRubyUtils::Bga::Parsers::Table.fields.map(&:name) - SET_ITEMS)
|
|
16
17
|
.each do |field|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
define_method field do
|
|
19
|
+
data.fetch(field)
|
|
20
|
+
end
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
# @return [Boolean]
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EhbrsRubyUtils
|
|
4
|
+
module Vg
|
|
5
|
+
module Nds
|
|
6
|
+
class Organizer
|
|
7
|
+
class BaseFile
|
|
8
|
+
acts_as_abstract :target_path
|
|
9
|
+
enable_listable
|
|
10
|
+
enable_simple_cache
|
|
11
|
+
enable_speaker
|
|
12
|
+
lists.add_symbol :add_error, :duplicated, :unrecognized
|
|
13
|
+
common_constructor :file_manager, :source_path do
|
|
14
|
+
self.source_path = source_path.to_pathname.expand_path
|
|
15
|
+
end
|
|
16
|
+
delegate :runner, to: :file_manager
|
|
17
|
+
compare_by :id
|
|
18
|
+
|
|
19
|
+
def change?
|
|
20
|
+
source_path != target_path
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def id
|
|
24
|
+
source_path.basename_noext.to_path
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def perform
|
|
28
|
+
return unless change?
|
|
29
|
+
|
|
30
|
+
::FileUtils.mv(source_path, target_path.assert_parent)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def show
|
|
34
|
+
puts "#{format_path(target_path, :green)} <= #{format_path(source_path, :yellow)}"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
protected
|
|
38
|
+
|
|
39
|
+
def format_path(path, color)
|
|
40
|
+
path.relative_path_from(runner.runner.roms_root).to_path.colorize(color)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EhbrsRubyUtils
|
|
4
|
+
module Vg
|
|
5
|
+
module Nds
|
|
6
|
+
class Organizer
|
|
7
|
+
class FileManager
|
|
8
|
+
enable_simple_cache
|
|
9
|
+
common_constructor :runner
|
|
10
|
+
|
|
11
|
+
ROM_EXTNAMES = ['.nds'].freeze
|
|
12
|
+
SAVE_EXTNAMES = ['.sav'].freeze
|
|
13
|
+
|
|
14
|
+
def add_file(path)
|
|
15
|
+
if ROM_EXTNAMES.include?(path.extname)
|
|
16
|
+
add_to_set(:rom, path)
|
|
17
|
+
elsif SAVE_EXTNAMES.include?(path.extname)
|
|
18
|
+
add_to_set(:save, path)
|
|
19
|
+
else
|
|
20
|
+
::EhbrsRubyUtils::Vg::Nds::Organizer::BaseFile::ADD_ERROR_UNRECOGNIZED
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def find_rom(id)
|
|
25
|
+
roms.find { |s| s.id == id }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
protected
|
|
29
|
+
|
|
30
|
+
def add_to_set(type, path)
|
|
31
|
+
set = send(type.to_s.pluralize)
|
|
32
|
+
file = ::EhbrsRubyUtils::Vg::Nds::Organizer.const_get("#{type}_file".camelize)
|
|
33
|
+
.new(self, path)
|
|
34
|
+
return ::BaseFile::ADD_ERROR_DUPLICATED if set.include?(file)
|
|
35
|
+
|
|
36
|
+
set.add(file)
|
|
37
|
+
nil
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def roms
|
|
41
|
+
@roms ||= ::Set.new
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def saves
|
|
45
|
+
@saves ||= ::Set.new
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def to_change_files_uncached
|
|
49
|
+
(roms.to_a + saves.to_a).select(&:change?).sort_by { |f| [f.id, f.target_path] }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EhbrsRubyUtils
|
|
4
|
+
module Vg
|
|
5
|
+
module Nds
|
|
6
|
+
class Organizer
|
|
7
|
+
class RomFile < ::EhbrsRubyUtils::Vg::Nds::Organizer::BaseFile
|
|
8
|
+
protected
|
|
9
|
+
|
|
10
|
+
def target_path_uncached
|
|
11
|
+
source_path
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EhbrsRubyUtils
|
|
4
|
+
module Vg
|
|
5
|
+
module Nds
|
|
6
|
+
class Organizer
|
|
7
|
+
class SaveFile < ::EhbrsRubyUtils::Vg::Nds::Organizer::BaseFile
|
|
8
|
+
SAVES_DIRECTORY_BASENAME = 'saves'.to_pathname
|
|
9
|
+
|
|
10
|
+
protected
|
|
11
|
+
|
|
12
|
+
def target_path_uncached
|
|
13
|
+
rom_file.if_present(source_path) do |v|
|
|
14
|
+
v.target_path.dirname.join(SAVES_DIRECTORY_BASENAME).join(source_path.basename)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def rom_file_uncached
|
|
19
|
+
file_manager.find_rom(id)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'find'
|
|
4
|
+
|
|
5
|
+
module EhbrsRubyUtils
|
|
6
|
+
module Vg
|
|
7
|
+
module Nds
|
|
8
|
+
class Organizer
|
|
9
|
+
enable_simple_cache
|
|
10
|
+
common_constructor :runner
|
|
11
|
+
delegate :confirm?, :roms_root, :show?, to: :runner
|
|
12
|
+
|
|
13
|
+
def add_files
|
|
14
|
+
self.errors = {}
|
|
15
|
+
reset_cache(:file_manager)
|
|
16
|
+
::Find.find(roms_root) do |path|
|
|
17
|
+
pathname = path.to_pathname
|
|
18
|
+
next unless pathname.file?
|
|
19
|
+
|
|
20
|
+
file_manager.add_file(pathname).if_present do |error|
|
|
21
|
+
errors[pathname] = error
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def clean_empty_directories
|
|
27
|
+
runner.infom 'Cleaning empty directories?'
|
|
28
|
+
return unless confirm?
|
|
29
|
+
|
|
30
|
+
roms_root.children.each do |child|
|
|
31
|
+
::EacFs::Utils.remove_empty_directories(child)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def perform
|
|
36
|
+
file_manager.to_change_files.each do |file|
|
|
37
|
+
file.show if show?
|
|
38
|
+
file.perform if confirm?
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def perform_all
|
|
43
|
+
add_files
|
|
44
|
+
show_changes if show?
|
|
45
|
+
perform
|
|
46
|
+
clean_empty_directories
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def show_changes
|
|
50
|
+
file_manager.to_change_files.each(&:show)
|
|
51
|
+
runner.infov 'To change files', file_manager.to_change_files.count
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
protected
|
|
55
|
+
|
|
56
|
+
attr_writer :errors
|
|
57
|
+
|
|
58
|
+
# @return [FileManager]
|
|
59
|
+
def file_manager_uncached
|
|
60
|
+
::EhbrsRubyUtils::Vg::Nds::Organizer::FileManager.new(self)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -21,10 +21,10 @@ module EhbrsRubyUtils
|
|
|
21
21
|
def all_uncached
|
|
22
22
|
::EhbrsRubyUtils::Vg::Wii::Wit::Parsers::Info.new(info_output).images
|
|
23
23
|
.map do |_label, data|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
new(
|
|
25
|
+
*%w[name info option].map { |k| data.fetch(k) },
|
|
26
|
+
*%w[extensions attributes].map { |k| data.fetch(k).to_s.split(/\s+/) }
|
|
27
|
+
)
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
@@ -13,7 +13,7 @@ module EhbrsRubyUtils
|
|
|
13
13
|
# ISO/WII & Wii
|
|
14
14
|
# WBFS/WII & Wii
|
|
15
15
|
# ISO/GC & GameCube
|
|
16
|
-
FILE_DISC_TYPE_PATTERN = %r{\A(\S+)/(\S+)\s+(?:\(([
|
|
16
|
+
FILE_DISC_TYPE_PATTERN = %r{\A(\S+)/(\S+)\s+(?:\(([^)]+)\)\s+)?&\s+(\S+)\z}.freeze
|
|
17
17
|
|
|
18
18
|
private
|
|
19
19
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ehbrs_ruby_utils
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.46.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eduardo H. Bogoni
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aranha
|
|
@@ -64,20 +64,20 @@ dependencies:
|
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0.
|
|
67
|
+
version: '0.98'
|
|
68
68
|
- - ">="
|
|
69
69
|
- !ruby/object:Gem::Version
|
|
70
|
-
version: 0.
|
|
70
|
+
version: 0.98.2
|
|
71
71
|
type: :runtime
|
|
72
72
|
prerelease: false
|
|
73
73
|
version_requirements: !ruby/object:Gem::Requirement
|
|
74
74
|
requirements:
|
|
75
75
|
- - "~>"
|
|
76
76
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0.
|
|
77
|
+
version: '0.98'
|
|
78
78
|
- - ">="
|
|
79
79
|
- !ruby/object:Gem::Version
|
|
80
|
-
version: 0.
|
|
80
|
+
version: 0.98.2
|
|
81
81
|
- !ruby/object:Gem::Dependency
|
|
82
82
|
name: avm-eac_rails_base0
|
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -107,7 +107,7 @@ dependencies:
|
|
|
107
107
|
version: '3.5'
|
|
108
108
|
- - ">="
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: 3.5.
|
|
110
|
+
version: 3.5.7
|
|
111
111
|
type: :runtime
|
|
112
112
|
prerelease: false
|
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -117,21 +117,21 @@ dependencies:
|
|
|
117
117
|
version: '3.5'
|
|
118
118
|
- - ">="
|
|
119
119
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: 3.5.
|
|
120
|
+
version: 3.5.7
|
|
121
121
|
- !ruby/object:Gem::Dependency
|
|
122
122
|
name: eac_fs
|
|
123
123
|
requirement: !ruby/object:Gem::Requirement
|
|
124
124
|
requirements:
|
|
125
125
|
- - "~>"
|
|
126
126
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: '0.
|
|
127
|
+
version: '0.20'
|
|
128
128
|
type: :runtime
|
|
129
129
|
prerelease: false
|
|
130
130
|
version_requirements: !ruby/object:Gem::Requirement
|
|
131
131
|
requirements:
|
|
132
132
|
- - "~>"
|
|
133
133
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '0.
|
|
134
|
+
version: '0.20'
|
|
135
135
|
- !ruby/object:Gem::Dependency
|
|
136
136
|
name: eac_rest
|
|
137
137
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -155,7 +155,7 @@ dependencies:
|
|
|
155
155
|
version: '0.128'
|
|
156
156
|
- - ">="
|
|
157
157
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: 0.128.
|
|
158
|
+
version: 0.128.5
|
|
159
159
|
type: :runtime
|
|
160
160
|
prerelease: false
|
|
161
161
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -165,7 +165,7 @@ dependencies:
|
|
|
165
165
|
version: '0.128'
|
|
166
166
|
- - ">="
|
|
167
167
|
- !ruby/object:Gem::Version
|
|
168
|
-
version: 0.128.
|
|
168
|
+
version: 0.128.5
|
|
169
169
|
- !ruby/object:Gem::Dependency
|
|
170
170
|
name: eac_templates
|
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -175,7 +175,7 @@ dependencies:
|
|
|
175
175
|
version: '0.8'
|
|
176
176
|
- - ">="
|
|
177
177
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: 0.8.
|
|
178
|
+
version: 0.8.3
|
|
179
179
|
type: :runtime
|
|
180
180
|
prerelease: false
|
|
181
181
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -185,7 +185,7 @@ dependencies:
|
|
|
185
185
|
version: '0.8'
|
|
186
186
|
- - ">="
|
|
187
187
|
- !ruby/object:Gem::Version
|
|
188
|
-
version: 0.8.
|
|
188
|
+
version: 0.8.3
|
|
189
189
|
- !ruby/object:Gem::Dependency
|
|
190
190
|
name: inifile
|
|
191
191
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -372,6 +372,11 @@ files:
|
|
|
372
372
|
- lib/ehbrs_ruby_utils/patches/object/template.rb
|
|
373
373
|
- lib/ehbrs_ruby_utils/version.rb
|
|
374
374
|
- lib/ehbrs_ruby_utils/vg.rb
|
|
375
|
+
- lib/ehbrs_ruby_utils/vg/nds/organizer.rb
|
|
376
|
+
- lib/ehbrs_ruby_utils/vg/nds/organizer/base_file.rb
|
|
377
|
+
- lib/ehbrs_ruby_utils/vg/nds/organizer/file_manager.rb
|
|
378
|
+
- lib/ehbrs_ruby_utils/vg/nds/organizer/rom_file.rb
|
|
379
|
+
- lib/ehbrs_ruby_utils/vg/nds/organizer/save_file.rb
|
|
375
380
|
- lib/ehbrs_ruby_utils/vg/patchers/applier_factory.rb
|
|
376
381
|
- lib/ehbrs_ruby_utils/vg/patchers/base_applier.rb
|
|
377
382
|
- lib/ehbrs_ruby_utils/vg/patchers/bps_applier.rb
|