ehbrs_ruby_utils 0.42.0 → 0.43.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/version.rb +1 -1
- metadata +2 -7
- data/lib/ehbrs_ruby_utils/music/sort/commands/base.rb +0 -31
- data/lib/ehbrs_ruby_utils/music/sort/commands/dump.rb +0 -67
- data/lib/ehbrs_ruby_utils/music/sort/commands/load.rb +0 -36
- data/lib/ehbrs_ruby_utils/music/sort/commands/shuffle.rb +0 -55
- data/lib/ehbrs_ruby_utils/music/sort/commands.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d49474096e476f03b1771e1da9b08054fa00d5a5daa095735d03bbab244c36b3
|
4
|
+
data.tar.gz: 59f7d23319c7666b9751f2008b2c72fac3a4967a3c35f3988452f9c150450256
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98094f7b4340f323ad143a14f21c7ac6f7bb453d9647b3d55efbb0b4c567e4351d52fcbbb3ebd71a9e92a72a78debae83badf0eeffae02e2739c9993191ff07f
|
7
|
+
data.tar.gz: c2e6242a13bf62cf5681107be0741caef823569196cf71809f79be4e1e865c2525bf0bf6f99d8ec959c43c350a7bcb0ad6676ab9b23233e31f2a8f97bd7fe126
|
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.43.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: 2024-05-
|
11
|
+
date: 2024-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha
|
@@ -334,11 +334,6 @@ files:
|
|
334
334
|
- lib/ehbrs_ruby_utils/music/ous/category.rb
|
335
335
|
- lib/ehbrs_ruby_utils/music/ous/node.rb
|
336
336
|
- lib/ehbrs_ruby_utils/music/sort.rb
|
337
|
-
- lib/ehbrs_ruby_utils/music/sort/commands.rb
|
338
|
-
- lib/ehbrs_ruby_utils/music/sort/commands/base.rb
|
339
|
-
- lib/ehbrs_ruby_utils/music/sort/commands/dump.rb
|
340
|
-
- lib/ehbrs_ruby_utils/music/sort/commands/load.rb
|
341
|
-
- lib/ehbrs_ruby_utils/music/sort/commands/shuffle.rb
|
342
337
|
- lib/ehbrs_ruby_utils/music/sort/files.rb
|
343
338
|
- lib/ehbrs_ruby_utils/music/sort/files/base.rb
|
344
339
|
- lib/ehbrs_ruby_utils/music/sort/files/factory.rb
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'ehbrs_ruby_utils/core_ext'
|
4
|
-
require 'ehbrs_ruby_utils/music/sort/files/scanner'
|
5
|
-
|
6
|
-
module EhbrsRubyUtils
|
7
|
-
module Music
|
8
|
-
module Sort
|
9
|
-
module Commands
|
10
|
-
class Base
|
11
|
-
enable_speaker
|
12
|
-
enable_simple_cache
|
13
|
-
common_constructor :root, :confirm do
|
14
|
-
self.root = root.to_pathname
|
15
|
-
run
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
def config_file
|
21
|
-
scanner.config_file
|
22
|
-
end
|
23
|
-
|
24
|
-
def scanner_uncached
|
25
|
-
::EhbrsRubyUtils::Music::Sort::Files::Scanner.new(root)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'ehbrs_ruby_utils/core_ext'
|
4
|
-
require 'ehbrs_ruby_utils/music/sort/commands/base'
|
5
|
-
require 'ehbrs_ruby_utils/music/sort/files/base'
|
6
|
-
require 'ehbrs_ruby_utils/music/sort/files/factory'
|
7
|
-
|
8
|
-
module EhbrsRubyUtils
|
9
|
-
module Music
|
10
|
-
module Sort
|
11
|
-
module Commands
|
12
|
-
class Dump < EhbrsRubyUtils::Music::Sort::Commands::Base
|
13
|
-
private
|
14
|
-
|
15
|
-
def run
|
16
|
-
if File.exist?(config_file)
|
17
|
-
@config = YAML.load_file(config_file)
|
18
|
-
to_rename.each { |sf| rename(sf) }
|
19
|
-
else
|
20
|
-
fatal_error("File \"#{config_file}\" does not exist")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def to_rename
|
25
|
-
r = []
|
26
|
-
::EhbrsRubyUtils::Music::Sort::Files::Factory::SECTIONS.each do |section|
|
27
|
-
i = 1
|
28
|
-
(@config[section] || []).each do |name|
|
29
|
-
r << ::EhbrsRubyUtils::Music::Sort::Files::Base.new(section, i, name, nil)
|
30
|
-
i += 1
|
31
|
-
end
|
32
|
-
end
|
33
|
-
r
|
34
|
-
end
|
35
|
-
|
36
|
-
def rename(source_file)
|
37
|
-
o = scanner.search(source_file.name)
|
38
|
-
if o
|
39
|
-
rename_on_found(source_file, o)
|
40
|
-
else
|
41
|
-
warn("File not found for \"#{source_file}\"")
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def rename_on_found(source_file, sorted_file)
|
46
|
-
o = sorted_file.reorder(source_file.section, source_file.order, order_padding)
|
47
|
-
info("\"#{o.source_basename}\" => \"#{o.target_basename}\"")
|
48
|
-
confirm_rename(o.source_basename, o.target_basename) if confirm
|
49
|
-
end
|
50
|
-
|
51
|
-
def confirm_rename(old_basename, new_basename)
|
52
|
-
op = File.expand_path(old_basename, root)
|
53
|
-
np = File.expand_path(new_basename, root)
|
54
|
-
return if np == op
|
55
|
-
raise "\"#{np}\" (From \"#{op}\") already exists" if File.exist?(np)
|
56
|
-
|
57
|
-
File.rename(op, np)
|
58
|
-
end
|
59
|
-
|
60
|
-
def order_padding_uncached
|
61
|
-
scanner.count.to_s.length
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'ehbrs_ruby_utils/core_ext'
|
4
|
-
require 'ehbrs_ruby_utils/music/sort/commands/base'
|
5
|
-
|
6
|
-
module EhbrsRubyUtils
|
7
|
-
module Music
|
8
|
-
module Sort
|
9
|
-
module Commands
|
10
|
-
class Load < EhbrsRubyUtils::Music::Sort::Commands::Base
|
11
|
-
private
|
12
|
-
|
13
|
-
def run
|
14
|
-
info "Reading \"#{root}\"..."
|
15
|
-
config = build_config
|
16
|
-
s = config.to_yaml
|
17
|
-
puts s
|
18
|
-
if confirm
|
19
|
-
info("Writing to \"#{config_file}\"...")
|
20
|
-
File.write(config_file, s)
|
21
|
-
end
|
22
|
-
puts 'Done!'.green
|
23
|
-
end
|
24
|
-
|
25
|
-
def build_config
|
26
|
-
config = {}
|
27
|
-
scanner.by_section.each do |section, fs|
|
28
|
-
config[section] = fs.sort.map(&:name)
|
29
|
-
end
|
30
|
-
config
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'ehbrs_ruby_utils/core_ext'
|
4
|
-
require 'ehbrs_ruby_utils/music/sort/commands/base'
|
5
|
-
require 'ehbrs_ruby_utils/music/sort/files/factory'
|
6
|
-
|
7
|
-
module EhbrsRubyUtils
|
8
|
-
module Music
|
9
|
-
module Sort
|
10
|
-
module Commands
|
11
|
-
class Shuffle < EhbrsRubyUtils::Music::Sort::Commands::Base
|
12
|
-
private
|
13
|
-
|
14
|
-
def run
|
15
|
-
if confirm
|
16
|
-
load_last_shuffle
|
17
|
-
else
|
18
|
-
dump_last_shuffle
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def dump_last_shuffle
|
23
|
-
s = build_config.to_yaml
|
24
|
-
puts s
|
25
|
-
info("Writing to \"#{last_shuffle_file}\"...")
|
26
|
-
File.write(last_shuffle_file, s)
|
27
|
-
puts 'Done!'.green
|
28
|
-
end
|
29
|
-
|
30
|
-
def load_last_shuffle
|
31
|
-
if File.exist?(last_shuffle_file)
|
32
|
-
IO.copy_stream(last_shuffle_file, config_file)
|
33
|
-
File.unlink(last_shuffle_file)
|
34
|
-
puts 'Done!'.green
|
35
|
-
else
|
36
|
-
fatal_error "File \"#{last_shuffle_file}\" does not exist"
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def last_shuffle_file
|
41
|
-
File.join(root, '.last_shuffle')
|
42
|
-
end
|
43
|
-
|
44
|
-
def build_config
|
45
|
-
config = {}
|
46
|
-
config[::EhbrsRubyUtils::Music::Sort::Files::Factory::SECTION_CURRENT] =
|
47
|
-
scanner.all.to_a.shuffle.map(&:name)
|
48
|
-
config[::EhbrsRubyUtils::Music::Sort::Files::Factory::SECTION_NEW] = []
|
49
|
-
config
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|