tvshow_renamer 0.2 → 0.2.1

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.
@@ -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: