AbsoluteRenamer 0.9.0

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.
Files changed (43) hide show
  1. data/AbsoluteRenamer.gemspec +40 -0
  2. data/COPYING +340 -0
  3. data/ChangeLog +0 -0
  4. data/LICENCE +17 -0
  5. data/Manifest.txt +42 -0
  6. data/README +34 -0
  7. data/Rakefile +20 -0
  8. data/bin/absrenamer +54 -0
  9. data/conf/absrenamer/absrenamer.conf +34 -0
  10. data/lib/absolute_renamer.rb +119 -0
  11. data/lib/absolute_renamer/config.rb +40 -0
  12. data/lib/absolute_renamer/external.rb +56 -0
  13. data/lib/absolute_renamer/external/modules/core/case/module.rb +31 -0
  14. data/lib/absolute_renamer/external/modules/core/general/module.rb +126 -0
  15. data/lib/absolute_renamer/external/parsers/core/general/parser.rb +74 -0
  16. data/lib/absolute_renamer/external/parsers/interactive/parser.rb +20 -0
  17. data/lib/absolute_renamer/external/parsers/listing/parser.rb +9 -0
  18. data/lib/absolute_renamer/external/plugins/interactive/plugin.rb +35 -0
  19. data/lib/absolute_renamer/external/plugins/listing/plugin.rb +14 -0
  20. data/lib/absolute_renamer/file_info.rb +90 -0
  21. data/lib/absolute_renamer/imodule.rb +68 -0
  22. data/lib/absolute_renamer/iparser.rb +8 -0
  23. data/lib/absolute_renamer/iplugin.rb +11 -0
  24. data/lib/absolute_renamer/libs/file.rb +11 -0
  25. data/lib/absolute_renamer/libs/string.rb +27 -0
  26. data/lib/absolute_renamer/parser.rb +91 -0
  27. data/lib/absolute_renamer/use_config.rb +11 -0
  28. data/lib/absolute_renamer/with_children.rb +22 -0
  29. data/man/man8/absrenamer.8 +67 -0
  30. data/script/console +10 -0
  31. data/script/destroy +14 -0
  32. data/script/generate +14 -0
  33. data/setup.rb +1585 -0
  34. data/test/unit/features/test_absrenamer.conf +34 -0
  35. data/test/unit/tc_config.rb +28 -0
  36. data/test/unit/tc_file.rb +16 -0
  37. data/test/unit/tc_fileinfo.rb +17 -0
  38. data/test/unit/tc_imodule.rb +29 -0
  39. data/test/unit/tc_iplugin.rb +8 -0
  40. data/test/unit/tc_parser.rb +13 -0
  41. data/test/unit/tc_string.rb +24 -0
  42. data/test/unit/test_suite.rb +28 -0
  43. metadata +120 -0
@@ -0,0 +1,34 @@
1
+ :debug: false
2
+
3
+ :options:
4
+ # Prompt :never, :once or :always before renaming
5
+ :interactive: :never
6
+ :format: '$'
7
+ :ext_format: '$'
8
+
9
+ # Renaming mode: :rename, :copy, :move, :link
10
+ :mode: :rename
11
+ :maxdepth: 0
12
+
13
+ # used when a value is not available (pdfAuthor for a PNG file, ...)
14
+ :default_string: '---'
15
+
16
+ # Word separator, regular expression statements can be used
17
+ # default: '\W_'
18
+ # This string will be used in AbsoluteRenamer just like this :
19
+ # [^WORD_SEPARATOR]
20
+ # Then, \W_ => [^\W_]
21
+ :word_separator: '\W_'
22
+
23
+ :path:
24
+ :modules: absolute_renamer/external/modules
25
+ :parsers: absolute_renamer/external/parsers
26
+ :plugins: absolute_renamer/external/plugins
27
+
28
+ :parsers:
29
+ - listing
30
+ - interactive
31
+
32
+ :plugins:
33
+ - listing
34
+ - interactive
@@ -0,0 +1,28 @@
1
+ require 'test/unit'
2
+ require 'absolute_renamer/config'
3
+
4
+ class TC_ConfigTest < Test::Unit::TestCase
5
+ def test_load
6
+ p $:
7
+ assert_raise(Errno::ENOENT) do
8
+ AbsoluteRenamer::Config.load('a file that must not be found')
9
+ end
10
+
11
+ assert_nothing_raised(Errno::ENOENT) do
12
+ AbsoluteRenamer::Config.load(TEST_CONF_FILE)
13
+ end
14
+ end
15
+
16
+ def test_set_and_get
17
+ AbsoluteRenamer::Config.set(:test_key, :test_val)
18
+ assert_equal(:test_val, AbsoluteRenamer::Config.get(:test_key))
19
+
20
+ AbsoluteRenamer::Config.set(nil, :test_val)
21
+ assert_equal(:test_val, AbsoluteRenamer::Config.get(nil))
22
+ end
23
+
24
+ def test_set_and_get_2
25
+ AbsoluteRenamer::Config[:test_key] = :test_val
26
+ assert_equal(:test_val, AbsoluteRenamer::Config[:test_key])
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ require 'test/unit'
2
+ require 'absolute_renamer/libs/file'
3
+
4
+ class TC_FileTest < Test::Unit::TestCase
5
+ def test_extname
6
+ assert_equal("txt", File.extname('a_file.txt'))
7
+ assert_equal("", File.extname('a_file'))
8
+
9
+ assert_equal("tar.gz", File.extname('archive.tar.gz', 2))
10
+ assert_not_equal("tar.gz", File.extname('archive.tar.gz'))
11
+
12
+ assert_equal("", File.extname('.'))
13
+ assert_equal("", File.extname('fichier.'))
14
+ assert_equal("test", File.extname('.test'))
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require 'test/unit'
2
+ require 'absolute_renamer/use_config'
3
+ require 'absolute_renamer/file_info'
4
+
5
+ class TC_FileInfoTest < Test::Unit::TestCase
6
+ def test_initialize
7
+ pwd = Dir.pwd
8
+ fi = AbsoluteRenamer::FileInfo.new('some/path/to/a_file.txt')
9
+
10
+ assert_equal('a_file', fi.name)
11
+ assert_equal(pwd + '/some/path/to', fi.dir_path)
12
+ assert_equal('some/path/to/a_file.txt', fi.path)
13
+ assert_equal(pwd + '/some/path/to/a_file.txt', fi.real_path)
14
+ assert_equal('txt', fi.ext)
15
+ assert_equal(false, fi.dir)
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ require 'test/unit'
2
+ require 'absolute_renamer/file_info'
3
+ require 'absolute_renamer/imodule'
4
+
5
+ class TC_IModuleTest < Test::Unit::TestCase
6
+ def test_symbol
7
+ assert_equal(:"AbsoluteRenamer::IModule", AbsoluteRenamer::IModule.symbol)
8
+ end
9
+
10
+ def test_process
11
+ mod = AbsoluteRenamer::IModule.new
12
+ file = AbsoluteRenamer::FileInfo.new('/some/path/to/a_file.txt')
13
+
14
+ assert_equal('format', mod.process(file, 'format', :name))
15
+ assert_equal('format', mod.process(file, 'format', :ext))
16
+ end
17
+
18
+ def test_interpret
19
+ AbsoluteRenamer::Config.load(TEST_CONF_FILE)
20
+ mod = AbsoluteRenamer::IModule.new
21
+ file = AbsoluteRenamer::FileInfo.new('/some/path/to/a_file.txt')
22
+
23
+ def_str = AbsoluteRenamer::Config[:options][:default_string]
24
+ infos = [nil, nil, '', 'matched']
25
+
26
+ assert_equal(def_str, mod.interpret(file, infos, :name))
27
+ assert_equal(def_str, mod.interpret(file, infos, :ext))
28
+ end
29
+ end
@@ -0,0 +1,8 @@
1
+ require 'test/unit'
2
+ require 'absolute_renamer/iplugin'
3
+
4
+ class TC_IPluginTest < Test::Unit::TestCase
5
+ def test_symbol
6
+ assert_equal(:"AbsoluteRenamer::IPlugin", AbsoluteRenamer::IPlugin.symbol)
7
+ end
8
+ end
@@ -0,0 +1,13 @@
1
+ require 'test/unit'
2
+ require 'absolute_renamer/parser'
3
+
4
+ class TC_ParserTest < Test::Unit::TestCase
5
+ def test_parse_cmd_line
6
+ AbsoluteRenamer::Config.load(TEST_CONF_FILE)
7
+ ARGV << '-f'
8
+ ARGV << 'format'
9
+
10
+ AbsoluteRenamer::Parser.parse_cmd_line
11
+ assert_equal('format', AbsoluteRenamer::Config[:options][:format])
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ require 'test/unit'
2
+ require 'absolute_renamer/libs/string'
3
+
4
+ class TC_StringTest < Test::Unit::TestCase
5
+ def test_simple_camelize
6
+ assert_equal("Hello World", "hello world".camelize)
7
+ assert_equal("Hello.World", "hello.world".camelize)
8
+
9
+ assert_equal("Hello The.World", "hello THE.world".camelize)
10
+
11
+ assert_equal("Hello..World", "hello..world".camelize)
12
+ end
13
+
14
+ def test_parametred_camelize
15
+ assert_equal("Hello.World", "hello.world".camelize(/\./))
16
+ assert_equal("Hello The.world", "hello THE.world".camelize(/ /))
17
+ end
18
+
19
+ def test_camelize!
20
+ str = "hello world"
21
+ assert_equal("Hello World", str.camelize!)
22
+ assert_equal("Hello World", str)
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
2
+ lib_path = File.dirname(__FILE__) << '/lib/absolute_renamer'
3
+ $:.unshift(lib_path) unless $:.include?(lib_path) || $:.include?(File.expand_path(lib_path))
4
+
5
+ require 'test/unit/testsuite'
6
+
7
+ require 'tc_config'
8
+ require 'tc_file'
9
+ require 'tc_fileinfo'
10
+ require 'tc_imodule'
11
+ require 'tc_iplugin'
12
+ require 'tc_parser'
13
+ require 'tc_string'
14
+
15
+ TEST_CONF_FILE = File.dirname(__FILE__) << '/features/test_absrenamer.conf'
16
+
17
+ class TS_AbsoluteRenamer
18
+ def self.suite
19
+ absrenamer_suite = Test::Unit::TestSuite.new
20
+ absrenamer_suite << TC_FileTest.suite
21
+ absrenamer_suite << TC_FileInfoTest.suite
22
+ absrenamer_suite << TS_IModuleTest.suite
23
+ absrenamer_suite << TS_IPluginTest.suite
24
+ absrenamer_suite << TS_ParserTest.suite
25
+ absrenamer_suite << TS_StringTest.suite
26
+ return absrenamer_suite
27
+ end
28
+ end
metadata ADDED
@@ -0,0 +1,120 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: AbsoluteRenamer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - Simon COURTOIS
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-08 00:00:00 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: newgem
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.4.1
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.8.0
34
+ version:
35
+ description: |-
36
+ AbsoluteRenamer is a very powerful tool that helps files and directories renaming using the Krename syntax.
37
+ Documentation can be found at http://absrenamer.happynoff.fr
38
+ email:
39
+ - happynoff@free.fr
40
+ executables:
41
+ - absrenamer
42
+ extensions: []
43
+
44
+ extra_rdoc_files:
45
+ - Manifest.txt
46
+ files:
47
+ - AbsoluteRenamer.gemspec
48
+ - COPYING
49
+ - ChangeLog
50
+ - LICENCE
51
+ - Manifest.txt
52
+ - README
53
+ - Rakefile
54
+ - bin/absrenamer
55
+ - conf/absrenamer/absrenamer.conf
56
+ - lib/absolute_renamer.rb
57
+ - lib/absolute_renamer/config.rb
58
+ - lib/absolute_renamer/external.rb
59
+ - lib/absolute_renamer/external/modules/core/case/module.rb
60
+ - lib/absolute_renamer/external/modules/core/general/module.rb
61
+ - lib/absolute_renamer/external/parsers/core/general/parser.rb
62
+ - lib/absolute_renamer/external/parsers/interactive/parser.rb
63
+ - lib/absolute_renamer/external/parsers/listing/parser.rb
64
+ - lib/absolute_renamer/external/plugins/interactive/plugin.rb
65
+ - lib/absolute_renamer/external/plugins/listing/plugin.rb
66
+ - lib/absolute_renamer/file_info.rb
67
+ - lib/absolute_renamer/imodule.rb
68
+ - lib/absolute_renamer/iparser.rb
69
+ - lib/absolute_renamer/iplugin.rb
70
+ - lib/absolute_renamer/libs/file.rb
71
+ - lib/absolute_renamer/libs/string.rb
72
+ - lib/absolute_renamer/parser.rb
73
+ - lib/absolute_renamer/use_config.rb
74
+ - lib/absolute_renamer/with_children.rb
75
+ - man/man8/absrenamer.8
76
+ - script/console
77
+ - script/destroy
78
+ - script/generate
79
+ - setup.rb
80
+ - test/unit/features/test_absrenamer.conf
81
+ - test/unit/tc_config.rb
82
+ - test/unit/tc_file.rb
83
+ - test/unit/tc_fileinfo.rb
84
+ - test/unit/tc_imodule.rb
85
+ - test/unit/tc_iplugin.rb
86
+ - test/unit/tc_parser.rb
87
+ - test/unit/tc_string.rb
88
+ - test/unit/test_suite.rb
89
+ has_rdoc: true
90
+ homepage: http://absrenamer.happynoff.fr
91
+ licenses: []
92
+
93
+ post_install_message:
94
+ rdoc_options:
95
+ - --main
96
+ - README
97
+ require_paths:
98
+ - lib
99
+ - ext
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: "0"
105
+ version:
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: "0"
111
+ version:
112
+ requirements: []
113
+
114
+ rubyforge_project: AbsoluteRenamer
115
+ rubygems_version: 1.3.3
116
+ signing_key:
117
+ specification_version: 3
118
+ summary: AbsoluteRenamer is a very powerful tool that helps files and directories renaming using the Krename syntax
119
+ test_files:
120
+ - test/unit/test_suite.rb