ehbrs_ruby_utils 0.42.0 → 0.43.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d257573a9117902808e20c43bf002671f832d16cc40bf676cfb46282435b22f5
4
- data.tar.gz: fa5b446750faae117f1902457683b1b46599f85e64d40b7402451433d007d861
3
+ metadata.gz: d49474096e476f03b1771e1da9b08054fa00d5a5daa095735d03bbab244c36b3
4
+ data.tar.gz: 59f7d23319c7666b9751f2008b2c72fac3a4967a3c35f3988452f9c150450256
5
5
  SHA512:
6
- metadata.gz: 2f5dbbbcffc5213abb54303cc9272e3875f40ba4f80c759298c6ba4d6677e806862b5a221a26fd487f45c26c02f7075decbf1251b424dd15a28ab186c35d9d5c
7
- data.tar.gz: dd456900169ed432a7c2b3aaef91ab93fff318b098eddcade488b5877df89b9babdeb45ec1336eadeb2ecde18d80a1c1b7011a5fa56952ed6427e60f3aab41ea
6
+ metadata.gz: 98094f7b4340f323ad143a14f21c7ac6f7bb453d9647b3d55efbb0b4c567e4351d52fcbbb3ebd71a9e92a72a78debae83badf0eeffae02e2739c9993191ff07f
7
+ data.tar.gz: c2e6242a13bf62cf5681107be0741caef823569196cf71809f79be4e1e865c2525bf0bf6f99d8ec959c43c350a7bcb0ad6676ab9b23233e31f2a8f97bd7fe126
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EhbrsRubyUtils
4
- VERSION = '0.42.0'
4
+ VERSION = '0.43.0'
5
5
  end
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.42.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-15 00:00:00.000000000 Z
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
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'ehbrs_ruby_utils/core_ext'
4
-
5
- module EhbrsRubyUtils
6
- module Music
7
- module Sort
8
- module Commands
9
- require_sub __FILE__
10
- end
11
- end
12
- end
13
- end