scene-toolkit 0.2.5 → 0.2.6

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.
data/README.rdoc CHANGED
@@ -7,16 +7,24 @@ Tool to assist scene MP3 library maintenance
7
7
  == Summary
8
8
 
9
9
  $ scene-toolkit
10
- Commands
11
-
12
- verify [directory] # Verify library or release. Executes all validations if none specified
13
- -n/--name # Validate release name
14
- -r/--required-files # Validate inclusion of required files
15
- -c/--checksum # Validate release CRC-32 checksum
16
- -d/--display-valid # Display valid releases too
17
- -f/--flush-cache # Flush file modification cache
18
- -m/--move-invalid-to=[STRING] # Move INVALID releases to specified folder
19
- -M/--move-valid-to=[STRING] # Move VALID releases to specified folder
10
+ Commands
11
+
12
+ playlists [directory] # Generate missing or invalid release playlists
13
+ -f/--force # Force the modification of existing files
14
+ auto_rename [directory] # Repair release names
15
+ verify [directory] # Verify library or release. Executes all validations if none specified
16
+ -c/--checksum # Validate release CRC-32 checksum
17
+ -n/--name # Validate release name
18
+ -p/--playlist # Validate playlist against existing files
19
+ -F/--files # Validate inclusion of required files
20
+ -h/--hide-valid # Do not display valid releases results
21
+ -i/--ignore-filename-case # Ignore case when validating SFV/M3U filenames
22
+ -m/--move-invalid-to=[STRING] # Move INVALID releases to specified folder
23
+ -M/--move-valid-to=[STRING] # Move VALID releases to specified folder
24
+
25
+ Global options
26
+
27
+ -?/--help # Print help message
20
28
 
21
29
  == Note on Patches/Pull Requests
22
30
 
@@ -33,6 +33,8 @@ module SceneToolkit
33
33
  release_name = release.heuristic_name
34
34
  end
35
35
 
36
+ next if release_name.blank?
37
+
36
38
  match = nil
37
39
  [OrlyDbMatcher, GoogleMatcher].each do |matcher|
38
40
  matches = matcher.match(release_name)
@@ -1,5 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require 'shellwords'
4
+
3
5
  module SceneToolkit
4
6
  class CLI < Optitron::CLI
5
7
  protected
@@ -60,7 +62,7 @@ module SceneToolkit
60
62
 
61
63
  releases = []
62
64
 
63
- Dir.glob(File.join(Regexp.escape(source), "**", "*.mp3")).each do |file|
65
+ Dir.glob(File.join(Shellwords.shellescape(source), "**", "*.mp3")).each do |file|
64
66
  release_path = File.expand_path(File.dirname(file))
65
67
 
66
68
  unless releases.include?(release_path)
@@ -1,4 +1,5 @@
1
1
  require 'active_support/concern'
2
+ require 'shellwords'
2
3
 
3
4
  module SceneToolkit
4
5
  class Release
@@ -6,7 +7,7 @@ module SceneToolkit
6
7
  extend ActiveSupport::Concern
7
8
 
8
9
  def files
9
- Dir.glob(File.join(Regexp.escape(@path), "*"))
10
+ Dir.glob(File.join(Shellwords.shellescape(@path), "*"))
10
11
  end
11
12
 
12
13
  included do
@@ -27,8 +27,11 @@ module SceneToolkit
27
27
  end
28
28
 
29
29
  def heuristic_name
30
- candidates = (m3u_files + nfo_files + sfv_files).map { |f| File.basename(f, ".*") }
31
- candidates.group_by { |name| name }.max { |a, b| a.last.size <=> b.last.size }.first.gsub(/^\d+[-_]/, "")
30
+ files = (m3u_files + nfo_files + sfv_files).map { |f| File.basename(f, ".*") }
31
+ candidates = files.group_by { |name| name }.max { |a, b| a.last.size <=> b.last.size }
32
+ if candidates
33
+ candidates.first.gsub(/^\d+[-_]/, "")
34
+ end
32
35
  end
33
36
  end
34
37
  end
data/lib/scene_toolkit.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module SceneToolkit
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scene-toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-11 00:00:00.000000000 +02:00
13
- default_executable:
12
+ date: 2011-08-16 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: activesupport
17
- requirement: &2155260360 !ruby/object:Gem::Requirement
16
+ requirement: &70191468494620 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: 3.0.0
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *2155260360
24
+ version_requirements: *70191468494620
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: i18n
28
- requirement: &2155259940 !ruby/object:Gem::Requirement
27
+ requirement: &70191468510280 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ! '>='
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *2155259940
35
+ version_requirements: *70191468510280
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: colored
39
- requirement: &2155259480 !ruby/object:Gem::Requirement
38
+ requirement: &70191468509620 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ! '>='
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: '0'
45
44
  type: :runtime
46
45
  prerelease: false
47
- version_requirements: *2155259480
46
+ version_requirements: *70191468509620
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: optitron
50
- requirement: &2155259060 !ruby/object:Gem::Requirement
49
+ requirement: &70191468509160 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ! '>='
@@ -55,10 +54,10 @@ dependencies:
55
54
  version: '0'
56
55
  type: :runtime
57
56
  prerelease: false
58
- version_requirements: *2155259060
57
+ version_requirements: *70191468509160
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: nestful
61
- requirement: &2155258640 !ruby/object:Gem::Requirement
60
+ requirement: &70191468508700 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ! '>='
@@ -66,7 +65,7 @@ dependencies:
66
65
  version: '0'
67
66
  type: :runtime
68
67
  prerelease: false
69
- version_requirements: *2155258640
68
+ version_requirements: *70191468508700
70
69
  description: Tool to assist scene MP3 library maintenance
71
70
  email:
72
71
  - knoopx@gmail.com
@@ -99,7 +98,6 @@ files:
99
98
  - lib/scene_toolkit/release/validations/name.rb
100
99
  - lib/scene_toolkit/release/validations/playlist.rb
101
100
  - scene-toolkit.gemspec
102
- has_rdoc: true
103
101
  homepage: http://github.com/knoopx/scene-toolkit
104
102
  licenses: []
105
103
  post_install_message:
@@ -120,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
118
  version: '0'
121
119
  requirements: []
122
120
  rubyforge_project:
123
- rubygems_version: 1.6.2
121
+ rubygems_version: 1.8.6
124
122
  signing_key:
125
123
  specification_version: 3
126
124
  summary: Tool to assist scene MP3 library maintenance