unitf-tag 0.1.23 → 0.1.25

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88fd979281b215b41615a9675d426d0dec125ae746b4c824600dfad98da63004
4
- data.tar.gz: 60cb6b8fa88cf88bf915ecc0241b1aac928ceeb845851acb48c0afe6caffaa63
3
+ metadata.gz: 7289107ae3745345d0485a0cd9dde05aec68cfe8a22ce366a45fe047467ad55f
4
+ data.tar.gz: 11f751c7a07a90b39589a03088589c48514734819e9318de36a4371bc7263049
5
5
  SHA512:
6
- metadata.gz: b591396ce2b828640af59694a96b6e3344e8a2a1112c999f85045f4bf8d8edaf83117f343ea4c881ad58774d2b6b047b0f8235b52703a9281534be1ce542df95
7
- data.tar.gz: abda1347dd22199932558cfc2ea06529e0286c7b6a2fa23c0f63faa2edcb1a0778cb4f7a1c25ad1622e7366f1377700c0dda0f6d9537f4f78e43405e8c44fa27
6
+ metadata.gz: e51cf3871b7fbe25c2f9adcc23389430cb02d1551cd61efcad6817209dc18723aa8f17282554e1af752db6af2e2adfdd043eabb4d54d3f1ced29651c0863146f
7
+ data.tar.gz: e397e4fb24ed3e2cce546c08a1d47b07dec9b1adaefd9df3b0f1ff7163591eb2485a7065603c2316169da240ab161edf5fe7e330f872b0de11d7bc6febb9704a
@@ -71,7 +71,9 @@ module UnitF
71
71
  end
72
72
 
73
73
  def auto_tag_path
74
- "#{dirname}/.autotag"
74
+ ["#{dirname}/.autotag", "#{dirname}/../.autotag"].each do |path|
75
+ return ::File.realpath(path) if ::File.exist?(path)
76
+ end
75
77
  end
76
78
 
77
79
  def mp3?
@@ -132,6 +134,25 @@ module UnitF
132
134
  # tags.merge(manual_auto_tags)
133
135
  # end
134
136
 
137
+ def path_tags
138
+ tags = {}
139
+
140
+ tags[:title] = ::File.basename(realpath.to_path)
141
+ tags[:track] = tags[:title].match(/^\s*\d+/).to_s.to_i
142
+
143
+ # Specific formatting for dated radio
144
+ if tags[:title].scan(/(\.|_|-)((\d\d\d\d)(\.|-)\d\d(\.|-)\d\d(\w*))\./).any?
145
+ tags[:title] = ::Regexp.last_match[2]
146
+ tags[:year] = ::Regexp.last_match[3].to_i
147
+ else
148
+ tags[:title].gsub!(/\.\w+$/, '')
149
+ tags[:title].gsub!(/^\d*\s*(-|\.)*\s*/, '')
150
+ end
151
+
152
+ tags[:artist] = path_parts[-2]
153
+ tags[:album] = tags[:album_artist] = path_parts[-1]
154
+ end
155
+
135
156
  def auto_tag!
136
157
  UnitF::Log.info("Auto tagging #{self}")
137
158
 
@@ -148,9 +169,6 @@ module UnitF
148
169
  title = ::Regexp.last_match[2]
149
170
  album = path_parts[-1]
150
171
  year = ::Regexp.last_match[3].to_i
151
- # elsif title.scan(/^(\w\w(\d\d)(\d\d)(\d\d))\./).any?
152
- # title = ::Regexp.last_match[1]
153
- # year = ::Regexp.last_match[1].to_i + 2000
154
172
  else
155
173
  title.gsub!(/\.\w+$/, '')
156
174
  title.gsub!(/^\d*\s*(-|\.)*\s*/, '')
@@ -163,7 +181,7 @@ module UnitF
163
181
  tag.album = album
164
182
  tag.artist = artist
165
183
  tag.title = title
166
- tag.track = track
184
+ tag.track = track if track.positive?
167
185
  self.album_artist = artist
168
186
  end
169
187
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Unitf
4
4
  module Tag
5
- VERSION = '0.1.23'
5
+ VERSION = '0.1.25'
6
6
  end
7
7
  end
data/unitf-tag.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_dependency 'taglib-ruby', '1.1.2'
30
+ #spec.add_dependency 'taglib-ruby', '1.1.2'
31
+ spec.add_dependency 'taglib-ruby'
31
32
  spec.add_dependency 'unitf-logging'
32
33
  end
metadata CHANGED
@@ -1,29 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unitf-tag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.23
4
+ version: 0.1.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Baron
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-02-02 00:00:00.000000000 Z
10
+ date: 2025-03-24 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: taglib-ruby
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - '='
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 1.1.2
18
+ version: '0'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - '='
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: 1.1.2
25
+ version: '0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: unitf-logging
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -77,7 +76,6 @@ metadata:
77
76
  homepage_uri: https://github.com/mattbaron/unitf-tag
78
77
  source_code_uri: https://github.com/mattbaron/unitf-tag
79
78
  changelog_uri: https://github.com/mattbaron/unitf-tag/CHANGELOG.md
80
- post_install_message:
81
79
  rdoc_options: []
82
80
  require_paths:
83
81
  - lib
@@ -92,8 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
90
  - !ruby/object:Gem::Version
93
91
  version: '0'
94
92
  requirements: []
95
- rubygems_version: 3.5.14
96
- signing_key:
93
+ rubygems_version: 3.6.3
97
94
  specification_version: 4
98
95
  summary: Audio File Tagging
99
96
  test_files: []