tagomatic 0.1.1 → 0.1.2

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/.gitignore CHANGED
@@ -19,6 +19,11 @@ rdoc
19
19
  pkg
20
20
 
21
21
  ## PROJECT::SPECIFIC
22
+ /.idea/encodings.xml
23
+ /.idea/inspectionProfiles/
24
+ /.idea/misc.xml
25
+ /.idea/projectCodeStyle.xml
26
+ /.idea/vcs.xml
22
27
  /.idea/workspace.xml
23
28
  /tagomatic.gemspec
24
29
  *.mp3
data/.idea/modules.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <project relativePaths="false" version="4">
2
+ <project version="4">
3
3
  <component name="ProjectModuleManager">
4
4
  <modules>
5
5
  <module fileurl="file://$PROJECT_DIR$/.idea/tagomatic.iml" filepath="$PROJECT_DIR$/.idea/tagomatic.iml" />
data/.idea/tagomatic.iml CHANGED
@@ -1,13 +1,18 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <module relativePaths="false" type="RUBY_MODULE" version="4">
3
- <component name="GemRequirementsHolder" version="2" />
4
- <component name="NewModuleRootManager" inherit-compiler-output="false">
3
+ <component name="GemRequirementsHolder" version="2">
4
+ <requirement>
5
+ <requirement>
6
+ <dependency name="ruby-mp3info" version="0" bound="GREATER_OR_EQUAL" />
7
+ </requirement>
8
+ <source manual="true" />
9
+ </requirement>
10
+ </component>
11
+ <component name="NewModuleRootManager">
5
12
  <content url="file://$MODULE_DIR$" />
6
13
  <orderEntry type="inheritedJdk" />
7
14
  <orderEntry type="sourceFolder" forTests="false" />
8
- </component>
9
- <component name="RModuleSettingsStorage">
10
- <RMODULE_SETTINGS_STORAGE_ID NAME="NUMBER" VALUE="0" />
15
+ <orderEntry type="library" name="[gem] ruby-mp3info (v0.6.13, /usr/lib/ruby/gems/1.8/gems/ruby-mp3info-0.6.13)" level="application" />
11
16
  </component>
12
17
  </module>
13
18
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -12,8 +12,8 @@ module Tagomatic
12
12
  end
13
13
 
14
14
  def exception(exception)
15
- $stderr.puts exception.to_s
16
- $stderr.puts exception.backtrace
15
+ puts exception.to_s
16
+ puts exception.backtrace
17
17
  end
18
18
 
19
19
  def verbose(message)
@@ -17,6 +17,9 @@ module Tagomatic
17
17
  FORMAT_ID_YEAR = 'y'
18
18
 
19
19
  KNOWN_FORMATS = [
20
+ "%g/%a/%b/Disc%d/%n-%t.mp3",
21
+ "%g/%a/%b/Disc%d/%n%t.mp3",
22
+ "%g/%a/%b/Disc%d/%t.mp3",
20
23
  "%g/%a/%b/CD%d/%n-%t.mp3",
21
24
  "%g/%a/%b/CD%d/%n%t.mp3",
22
25
  "%g/%a/%b/CD%d/%t.mp3",
@@ -36,9 +39,16 @@ module Tagomatic
36
39
  "%g/%a/(%y)%b/%n-%t.mp3",
37
40
  "%g/%a/(%y)%b/%n%t.mp3",
38
41
 
42
+ "%g/%a/%y - %b/%a-%b-%n-%t.mp3",
43
+ "%g/%a/%y - %b/%n-%t.mp3",
44
+ "%g/%a/%y - %b/%n%t.mp3",
45
+
39
46
  "%g/%a/%b/%a-%b-%n-%t.mp3",
47
+ "%g/%a/%b/%a-%b-%n-%t.MP3",
40
48
  "%g/%a/%b/%n-%t.mp3",
49
+ "%g/%a/%b/%n-%t.MP3",
41
50
  "%g/%a/%b/%n%t.mp3",
51
+ "%g/%a/%b/%n%t.MP3",
42
52
 
43
53
  "%g/%a/%b/%t.mp3",
44
54
  "%g/%a/%b/%t.MP3",
@@ -77,11 +87,16 @@ module Tagomatic
77
87
  clean = file_name.gsub('_', ' ')
78
88
  return if clean == file_name
79
89
  @logger.verbose "renaming #{file_name} to #{clean}"
80
- FileUtils.cd folder_path
81
- FileUtils.mv file_name, clean
90
+ quoted_source = escape_file_name(file_name)
91
+ quoted_destination = escape_file_name(clean)
92
+ system %Q[cd "#{folder_path}" && mv "#{quoted_source}" "#{quoted_destination}"] or return
82
93
  @file_path = File.join(folder_path, clean)
83
94
  end
84
95
 
96
+ def escape_file_name(file_name)
97
+ file_name.sub('"', '\"').sub('\'', '\\\'').sub('`', '\`')
98
+ end
99
+
85
100
  def apply_formats
86
101
  apply_custom_formats if custom_formats_available?
87
102
  apply_known_formats if no_tags_set? and guessing_allowed?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tagomatic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lukic
@@ -75,16 +75,10 @@ files:
75
75
  - .idea/compiler.xml
76
76
  - .idea/dictionaries/dl.xml
77
77
  - .idea/dynamic.xml
78
- - .idea/encodings.xml
79
- - .idea/inspectionProfiles/Project_Default.xml
80
- - .idea/inspectionProfiles/profiles_settings.xml
81
- - .idea/misc.xml
82
78
  - .idea/modules.xml
83
- - .idea/projectCodeStyle.xml
84
79
  - .idea/tagomatic.iml
85
80
  - .idea/templateLanguages.xml
86
81
  - .idea/uiDesigner.xml
87
- - .idea/vcs.xml
88
82
  - LICENSE
89
83
  - README.rdoc
90
84
  - Rakefile
data/.idea/encodings.xml DELETED
@@ -1,5 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project relativePaths="false" version="4">
3
- <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
4
- </project>
5
-
@@ -1,192 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0" is_locked="false">
3
- <option name="myName" value="Project Default" />
4
- <option name="myLocal" value="false" />
5
- <inspection_tool class="AccessStaticViaInstance" level="WARNING" enabled="false" />
6
- <inspection_tool class="CanBeFinal" level="WARNING" enabled="false">
7
- <option name="REPORT_CLASSES" value="false" />
8
- <option name="REPORT_METHODS" value="false" />
9
- <option name="REPORT_FIELDS" value="true" />
10
- </inspection_tool>
11
- <inspection_tool class="CheckDtdRefs" level="ERROR" enabled="false" />
12
- <inspection_tool class="CheckEmptyScriptTag" level="WARNING" enabled="false" />
13
- <inspection_tool class="CheckImageSize" level="WARNING" enabled="false" />
14
- <inspection_tool class="CheckTagEmptyBody" level="WARNING" enabled="false" />
15
- <inspection_tool class="CheckValidXmlInScriptTagBody" level="ERROR" enabled="false" />
16
- <inspection_tool class="CheckXmlFileWithXercesValidator" level="ERROR" enabled="false" />
17
- <inspection_tool class="ConstantConditions" level="WARNING" enabled="false">
18
- <option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" />
19
- <option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" />
20
- </inspection_tool>
21
- <inspection_tool class="CssInvalidElementInspection" level="ERROR" enabled="false" />
22
- <inspection_tool class="CssInvalidShorthandPropertyValue" level="ERROR" enabled="false" />
23
- <inspection_tool class="CssNegativeValueInspection" level="ERROR" enabled="false" />
24
- <inspection_tool class="CssNoGenericFontName" level="WARNING" enabled="false" />
25
- <inspection_tool class="CssOverwrittenProperties" level="WARNING" enabled="false" />
26
- <inspection_tool class="CssRgbFunctionInspection" level="ERROR" enabled="false" />
27
- <inspection_tool class="CssUnitlessNumber" level="WARNING" enabled="false" />
28
- <inspection_tool class="CssUnknownProperty" level="WARNING" enabled="false">
29
- <option name="myCustomPropertiesEnabled" value="true" />
30
- <option name="myCustomPropertiesList">
31
- <value>
32
- <list size="8">
33
- <item index="0" class="java.lang.String" itemvalue="min-size" />
34
- <item index="1" class="java.lang.String" itemvalue="bg-color" />
35
- <item index="2" class="java.lang.String" itemvalue="layout-data" />
36
- <item index="3" class="java.lang.String" itemvalue="layout" />
37
- <item index="4" class="java.lang.String" itemvalue="align" />
38
- <item index="5" class="java.lang.String" itemvalue="bg-repeat" />
39
- <item index="6" class="java.lang.String" itemvalue="bg-align" />
40
- <item index="7" class="java.lang.String" itemvalue="bg-image" />
41
- </list>
42
- </value>
43
- </option>
44
- </inspection_tool>
45
- <inspection_tool class="CssUnusedSymbolInspection" level="WARNING" enabled="false" />
46
- <inspection_tool class="DefaultFileTemplate" level="WARNING" enabled="false">
47
- <option name="CHECK_FILE_HEADER" value="true" />
48
- <option name="CHECK_TRY_CATCH_SECTION" value="true" />
49
- <option name="CHECK_METHOD_BODY" value="true" />
50
- </inspection_tool>
51
- <inspection_tool class="Dependency" level="ERROR" enabled="false" />
52
- <inspection_tool class="Deprecation" level="WARNING" enabled="false" />
53
- <inspection_tool class="DuplicateThrows" level="WARNING" enabled="false" />
54
- <inspection_tool class="EmptyMethod" level="WARNING" enabled="false" />
55
- <inspection_tool class="FieldCanBeLocal" level="WARNING" enabled="false" />
56
- <inspection_tool class="HtmlExtraClosingTag" level="ERROR" enabled="false" />
57
- <inspection_tool class="HtmlUnknownAttribute" level="WARNING" enabled="false">
58
- <option name="myValues">
59
- <value>
60
- <list size="5">
61
- <item index="0" class="java.lang.String" itemvalue="type" />
62
- <item index="1" class="java.lang.String" itemvalue="wmode" />
63
- <item index="2" class="java.lang.String" itemvalue="src" />
64
- <item index="3" class="java.lang.String" itemvalue="width" />
65
- <item index="4" class="java.lang.String" itemvalue="height" />
66
- </list>
67
- </value>
68
- </option>
69
- <option name="myCustomValuesEnabled" value="true" />
70
- </inspection_tool>
71
- <inspection_tool class="HtmlUnknownTag" level="WARNING" enabled="false">
72
- <option name="myValues">
73
- <value>
74
- <list size="5">
75
- <item index="0" class="java.lang.String" itemvalue="embed" />
76
- <item index="1" class="java.lang.String" itemvalue="nobr" />
77
- <item index="2" class="java.lang.String" itemvalue="noembed" />
78
- <item index="3" class="java.lang.String" itemvalue="comment" />
79
- <item index="4" class="java.lang.String" itemvalue="script" />
80
- </list>
81
- </value>
82
- </option>
83
- <option name="myCustomValuesEnabled" value="true" />
84
- </inspection_tool>
85
- <inspection_tool class="InconsistentResourceBundle" level="ERROR" enabled="false">
86
- <option name="REPORT_MISSING_TRANSLATIONS" value="true" />
87
- <option name="REPORT_INCONSISTENT_PROPERTIES" value="true" />
88
- <option name="REPORT_DUPLICATED_PROPERTIES" value="true" />
89
- </inspection_tool>
90
- <inspection_tool class="JavaDoc" level="WARNING" enabled="false">
91
- <option name="TOP_LEVEL_CLASS_OPTIONS">
92
- <value>
93
- <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
94
- <option name="REQUIRED_TAGS" value="" />
95
- </value>
96
- </option>
97
- <option name="INNER_CLASS_OPTIONS">
98
- <value>
99
- <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
100
- <option name="REQUIRED_TAGS" value="" />
101
- </value>
102
- </option>
103
- <option name="METHOD_OPTIONS">
104
- <value>
105
- <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
106
- <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
107
- </value>
108
- </option>
109
- <option name="FIELD_OPTIONS">
110
- <value>
111
- <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
112
- <option name="REQUIRED_TAGS" value="" />
113
- </value>
114
- </option>
115
- <option name="IGNORE_DEPRECATED" value="false" />
116
- <option name="IGNORE_JAVADOC_PERIOD" value="true" />
117
- <option name="myAdditionalJavadocTags" value="" />
118
- </inspection_tool>
119
- <inspection_tool class="JavadocReference" level="ERROR" enabled="false" />
120
- <inspection_tool class="NullableProblems" level="WARNING" enabled="false">
121
- <option name="REPORT_NULLABLE_METHOD_OVERRIDES_NOTNULL" value="true" />
122
- <option name="REPORT_NOT_ANNOTATED_METHOD_OVERRIDES_NOTNULL" value="true" />
123
- <option name="REPORT_NOTNULL_PARAMETER_OVERRIDES_NULLABLE" value="true" />
124
- <option name="REPORT_NOT_ANNOTATED_PARAMETER_OVERRIDES_NOTNULL" value="true" />
125
- <option name="REPORT_NOT_ANNOTATED_GETTER" value="true" />
126
- <option name="REPORT_NOT_ANNOTATED_SETTER_PARAMETER" value="true" />
127
- <option name="REPORT_ANNOTATION_NOT_PROPAGATED_TO_OVERRIDERS" value="true" />
128
- </inspection_tool>
129
- <inspection_tool class="RedundantArrayCreation" level="WARNING" enabled="false" />
130
- <inspection_tool class="RedundantCast" level="WARNING" enabled="false" />
131
- <inspection_tool class="RedundantThrows" level="WARNING" enabled="false" />
132
- <inspection_tool class="RedundantTypeArguments" level="WARNING" enabled="false" />
133
- <inspection_tool class="RequiredAttributes" level="WARNING" enabled="false">
134
- <option name="myAdditionalRequiredHtmlAttributes" value="" />
135
- </inspection_tool>
136
- <inspection_tool class="SameParameterValue" level="WARNING" enabled="false" />
137
- <inspection_tool class="SameReturnValue" level="WARNING" enabled="false" />
138
- <inspection_tool class="SillyAssignment" level="WARNING" enabled="false" />
139
- <inspection_tool class="SuspiciousMethodCalls" level="WARNING" enabled="false">
140
- <option name="REPORT_CONVERTIBLE_METHOD_CALLS" value="true" />
141
- </inspection_tool>
142
- <inspection_tool class="SuspiciousNameCombination" level="WARNING" enabled="false">
143
- <group names="x,width,left,right" />
144
- <group names="y,height,top,bottom" />
145
- </inspection_tool>
146
- <inspection_tool class="UNCHECKED_WARNING" level="WARNING" enabled="false" />
147
- <inspection_tool class="UNUSED_IMPORT" level="WARNING" enabled="false" />
148
- <inspection_tool class="UNUSED_SYMBOL" level="WARNING" enabled="false">
149
- <option name="LOCAL_VARIABLE" value="true" />
150
- <option name="FIELD" value="true" />
151
- <option name="METHOD" value="true" />
152
- <option name="CLASS" value="true" />
153
- <option name="PARAMETER" value="true" />
154
- <option name="REPORT_PARAMETER_FOR_PUBLIC_METHODS" value="true" />
155
- <option name="INJECTION_ANNOS">
156
- <value>
157
- <list size="0" />
158
- </value>
159
- </option>
160
- </inspection_tool>
161
- <inspection_tool class="UnnecessaryModuleDependencyInspection" level="WARNING" enabled="false" />
162
- <inspection_tool class="UnresolvedPropertyKey" level="ERROR" enabled="false" />
163
- <inspection_tool class="UnusedAssignment" level="WARNING" enabled="false">
164
- <option name="REPORT_PREFIX_EXPRESSIONS" value="false" />
165
- <option name="REPORT_POSTFIX_EXPRESSIONS" value="true" />
166
- <option name="REPORT_REDUNDANT_INITIALIZER" value="true" />
167
- </inspection_tool>
168
- <inspection_tool class="UnusedDeclaration" level="WARNING" enabled="false">
169
- <option name="ADD_MAINS_TO_ENTRIES" value="true" />
170
- <option name="ADD_APPLET_TO_ENTRIES" value="true" />
171
- <option name="ADD_SERVLET_TO_ENTRIES" value="true" />
172
- <option name="ADD_NONJAVA_TO_ENTRIES" value="true" />
173
- <option name="ADDITIONAL_ANNOTATIONS">
174
- <value>
175
- <list size="0" />
176
- </value>
177
- </option>
178
- <option name="ADD_JUNIT_TO_ENTRIES" value="true" />
179
- </inspection_tool>
180
- <inspection_tool class="UnusedMessageFormatParameter" level="WARNING" enabled="false" />
181
- <inspection_tool class="UnusedParameters" level="WARNING" enabled="false" />
182
- <inspection_tool class="UnusedReturnValue" level="WARNING" enabled="false" />
183
- <inspection_tool class="WeakerAccess" level="WARNING" enabled="false">
184
- <option name="SUGGEST_PACKAGE_LOCAL_FOR_MEMBERS" value="true" />
185
- <option name="SUGGEST_PACKAGE_LOCAL_FOR_TOP_CLASSES" value="true" />
186
- <option name="SUGGEST_PRIVATE_FOR_INNERS" value="false" />
187
- </inspection_tool>
188
- <inspection_tool class="WrongPackageStatement" level="ERROR" enabled="false" />
189
- <inspection_tool class="XmlWrongClosingTagName" level="ERROR" enabled="false" />
190
- <inspection_tool class="XmlWrongRootElement" level="ERROR" enabled="false" />
191
- </profile>
192
- </component>
@@ -1,8 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <settings>
3
- <option name="PROJECT_PROFILE" value="Project Default" />
4
- <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
5
- <scopes />
6
- <list size="0" />
7
- </settings>
8
- </component>
data/.idea/misc.xml DELETED
@@ -1,42 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project relativePaths="false" version="4">
3
- <component name="DependencyValidationManager">
4
- <option name="SKIP_IMPORT_STATEMENTS" value="false" />
5
- </component>
6
- <component name="JavadocGenerationManager">
7
- <option name="OUTPUT_DIRECTORY" />
8
- <option name="OPTION_SCOPE" value="protected" />
9
- <option name="OPTION_HIERARCHY" value="true" />
10
- <option name="OPTION_NAVIGATOR" value="true" />
11
- <option name="OPTION_INDEX" value="true" />
12
- <option name="OPTION_SEPARATE_INDEX" value="true" />
13
- <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
14
- <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
15
- <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
16
- <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
17
- <option name="OPTION_DEPRECATED_LIST" value="true" />
18
- <option name="OTHER_OPTIONS" value="" />
19
- <option name="HEAP_SIZE" />
20
- <option name="LOCALE" />
21
- <option name="OPEN_IN_BROWSER" value="true" />
22
- </component>
23
- <component name="ProjectDetails">
24
- <option name="projectName" value="tagomatic" />
25
- </component>
26
- <component name="ProjectFileVersion" converted="true">
27
- <converter id="ror-modules" />
28
- <converter id="SelenaRunConfToDiana" />
29
- </component>
30
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_3" assert-keyword="false" jdk-15="false" project-jdk-name="Ruby SDK 1.8.7 (/usr/bin/ruby)" project-jdk-type="RUBY_SDK" />
31
- <component name="ResourceManagerContainer">
32
- <option name="myResourceBundles">
33
- <value>
34
- <list size="0" />
35
- </value>
36
- </option>
37
- </component>
38
- <component name="SvnBranchConfigurationManager">
39
- <option name="mySupportsUserInfoFilter" value="true" />
40
- </component>
41
- </project>
42
-
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project relativePaths="false" version="4">
3
- <component name="CodeStyleSettingsManager">
4
- <option name="PER_PROJECT_SETTINGS" />
5
- <option name="USE_PER_PROJECT_SETTINGS" value="false" />
6
- </component>
7
- </project>
8
-
data/.idea/vcs.xml DELETED
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project relativePaths="false" version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="" />
5
- </component>
6
- </project>
7
-