got_mp3 0.2.2 → 0.3.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: 44c046df30aa09ee8f417c5151a511c16a55758cb324b64c9b8bb376f68b14ac
4
- data.tar.gz: d6b18ee2753e965126a74218816625f48c36bdb09ca3b0b91b822236934f4158
3
+ metadata.gz: c34d1db35e8baadaaf24b2fa70f3598a64ec38ddd47095188a82eae76e063573
4
+ data.tar.gz: 86bb8da65ce447a7bbd168b068cc9b992b551b0db201eac8a3e2949fdc1d5dba
5
5
  SHA512:
6
- metadata.gz: 3b8136cf7e4e913de207514afbe0c24295e95a18131c64aa49c57a5ce8c554cb9411ac638626c840aa3a0653f01391fd7e43f5d1aabafc0c090521a7dd58cffa
7
- data.tar.gz: db25f65976be5cccda5a2ef7a56a194ae08577c56e916fdcd368de15cc8a5b70e563e6e5792ce7179a4f70a0df1fdc5074e6bb334636257b9f6590500c15aa79
6
+ metadata.gz: 5c666482d88a53d4e608316cbbbe83dd8b7b2c1fed9d725f666fdbf0c32c4e20ff809e5a2a51f72f87cf63659dc94f3f1bf5420b823bbebb0638b7e95781bcfe
7
+ data.tar.gz: f6508835a0db94da8febc2d301ed40ab8b490caf17caf74af73c46418e0ffddb80142a3c24f8a82ca157a355bec0fa792cb6b813af9ae8dcf3c66ac350c702d4
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/got_mp3.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  # file: got_mp3.rb
4
4
 
5
+ require 'dxlite'
5
6
  require 'ostruct'
6
7
  require "mp3info"
7
8
 
@@ -77,13 +78,11 @@ class GotMP3
77
78
 
78
79
  find_by_ext('.mp3').each do |directory, _ |
79
80
 
80
- puts 'write_titles() - directory: ' + directory.inspect if @debug
81
81
  txt_filename = Dir[File.join(directory, '*.txt')].first
82
82
 
83
83
  next unless txt_filename
84
84
 
85
85
  target_file = File.basename(directory)
86
-
87
86
  FileUtils.cp txt_filename, File.join(target_directory,
88
87
  target_file + '.txt')
89
88
 
@@ -149,7 +148,7 @@ class GotMP3
149
148
 
150
149
  end
151
150
 
152
- def write_titles()
151
+ def write_titles(format: 'txt')
153
152
 
154
153
  puts 'inside write_titles()' if @debug
155
154
 
@@ -158,41 +157,64 @@ class GotMP3
158
157
  puts 'write_titles() - directory: ' + directory.inspect if @debug
159
158
  txt_filename = Dir[File.join(directory, '*.txt')].first
160
159
 
161
- next if txt_filename
160
+ next if txt_filename and format.to_sym == :txt
162
161
 
163
162
  tracks = []
164
163
 
165
164
  each_mp3_track(directory) do |mp3, trackno, mp3_filepath|
166
165
 
167
166
  tracks << OpenStruct.new({
168
- title: mp3.tag.title,
167
+ title: mp3.tag.title.sub(/^\d+\. */,''),
169
168
  artist: mp3.tag.artist,
170
169
  album: mp3.tag.album,
171
- album_artist: mp3.tag2['TPE2'],
172
- disc: mp3.tag2['TPOS'],
170
+ album_artist: mp3.tag2['TPE2'] || mp3.tag.artist,
171
+ disc: mp3.tag2['TPOS'] || 1,
173
172
  tracknum: mp3.tag.tracknum,
174
173
  filename: File.basename(mp3_filepath)
175
174
  })
176
175
 
177
176
  end
178
177
 
178
+ puts 'tracks: ' + tracks.inspect if @debug
179
+
179
180
  heading = tracks[0].album_artist + ' - ' + tracks[0].album
181
+
180
182
  s = "# %s\n\n" % [heading]
181
183
  h = tracks.group_by(&:disc)
182
184
 
183
- body = if h.length == 1 then
184
185
 
185
- list(tracks)
186
+ if format.to_sym == :txt then
187
+
188
+ body = if h.length == 1 then
189
+
190
+ list(tracks)
191
+
192
+ else
193
+
194
+ "\n" + h.map do |disc, tracks2|
195
+ ("## Disc %d\n\n" % disc) + list(tracks2) + "\n\n"
196
+ end.join("\n")
197
+
198
+ end
199
+
200
+ File.write File.join(directory, heading + '.txt'), s + body
186
201
 
187
202
  else
188
203
 
189
- "\n" + h.map do |disc, tracks2|
190
- ("## Disc %d\n\n" % disc) + list(tracks2) + "\n\n"
191
- end.join("\n")
204
+ # :xml
205
+ puts 'xml' if @debug
192
206
 
193
- end
207
+ dx = DxLite.new('album[album_artist, album]/track(tracknum, title, ' +
208
+ 'artist, disc, album_artist)')
194
209
 
195
- File.write File.join(directory, heading + '.txt'), s + body
210
+ h.each {|_,x| puts x.inspect } if @debug
211
+ h.each {|_,x| x.each {|track| dx.create(track.to_h) } }
212
+
213
+ dx.album_artist = dx.all[0].album_artist
214
+ dx.album = dx.all[0].album
215
+ dx.save File.join(directory, 'playlist.dx')
216
+
217
+ end
196
218
 
197
219
  end
198
220
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: got_mp3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,8 +35,28 @@ cert_chain:
35
35
  RFrZsrDO1Cwk4v03qCUvuZ8H/nCojYYJGMrJE1JhBBJNJXCAULivh/zlOYcDhG69
36
36
  uPtZOD7YKrG45OftX8aNxlNv
37
37
  -----END CERTIFICATE-----
38
- date: 2021-11-26 00:00:00.000000000 Z
38
+ date: 2021-11-27 00:00:00.000000000 Z
39
39
  dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: dxlite
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.3'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 0.3.5
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '0.3'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 0.3.5
40
60
  - !ruby/object:Gem::Dependency
41
61
  name: ruby-mp3info
42
62
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file