tvshow_renamer 0.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,14 +7,19 @@ module TVShowRenamer
7
7
  opts = OptionParser.new do |opts|
8
8
  opts.banner = "Usage: tvshow_renamer [options] <tvshow_name> file|directory ..."
9
9
 
10
- # opts.on("-v", "--verbose", "Run verbosely") do |v|
11
- # options[:verbose] = v
12
- # end
10
+ opts.on("-l", "--log FILENAME", "Log all renames to FILENAME, inside the TV show files directory") do |log_file|
11
+ options[:log_file] = log_file
12
+ end
13
13
 
14
14
  opts.on_tail("-h", "--help", "Show this message") do
15
15
  puts opts
16
16
  exit
17
17
  end
18
+
19
+ opts.on_tail("--version", "Show version") do
20
+ puts TVShowRenamer::VERSION
21
+ exit
22
+ end
18
23
  end
19
24
  opts.parse!
20
25
 
@@ -38,6 +38,7 @@ module TVShowRenamer
38
38
  extension = File.extname(filename)
39
39
 
40
40
  if EXTENSIONS.include?(extension.downcase)
41
+ dirname = File.dirname(filename)
41
42
  basename = File.basename(filename)
42
43
  detected_season, detected_episode = get_season_and_episode(basename)
43
44
 
@@ -52,7 +53,7 @@ module TVShowRenamer
52
53
  rename_value = $stdin.gets.chomp.strip
53
54
  case rename_value.downcase
54
55
  when 'y'
55
- new_filename = File.join(File.dirname(filename), new_basename)
56
+ new_filename = File.join(dirname, new_basename)
56
57
  if File.exists?(new_filename)
57
58
  override_ok = false
58
59
  until override_ok
@@ -62,6 +63,7 @@ module TVShowRenamer
62
63
  case override_value
63
64
  when 'y'
64
65
  FileUtils.mv filename, new_filename
66
+ log_rename dirname, basename, new_basename
65
67
  override_ok = true
66
68
  rename_ok = true
67
69
  when 'n'
@@ -70,6 +72,7 @@ module TVShowRenamer
70
72
  end
71
73
  else
72
74
  FileUtils.mv filename, new_filename
75
+ log_rename dirname, basename, new_basename
73
76
  rename_ok = true
74
77
  end
75
78
  when 'n'
@@ -84,6 +87,14 @@ module TVShowRenamer
84
87
  end
85
88
  end
86
89
 
90
+ def log_rename(dirname, basename, new_basename)
91
+ if @options[:log_file]
92
+ File.open(File.join(dirname, @options[:log_file]), 'a') do |file|
93
+ file.puts "\"#{basename}\" => \"#{new_basename}\"\n"
94
+ end
95
+ end
96
+ end
97
+
87
98
  def get_season_and_episode(basename)
88
99
  regex = /(?<season>\d{1,2})(e|x|\.)?(?<episode>\d{2,})/i
89
100
  match = regex.match basename
@@ -1,3 +1,3 @@
1
1
  module TVShowRenamer
2
- Version = VERSION = '0.2'
2
+ Version = VERSION = '0.2.1'
3
3
  end
@@ -1,2 +1,3 @@
1
1
  require 'tvshow_renamer/cli'
2
- require 'tvshow_renamer/renamer'
2
+ require 'tvshow_renamer/renamer'
3
+ require 'tvshow_renamer/version'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tvshow_renamer
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: