scene-toolkit 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
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