xiami_cloner 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,55 @@
1
+ module XiamiCloner
2
+ class LocationDecoder
3
+
4
+ def self.decode(str)
5
+ require 'cgi'
6
+
7
+ l2 = str[0].to_i
8
+ l3 = str[1...str.length]
9
+ l4 = (1.0 * l3.length / l2).floor
10
+ l5 = l3.length % l2
11
+ l6 = []
12
+ l7 = 0
13
+
14
+ while (l7 < l5) do
15
+ if (!l6[l7])
16
+ l6[l7] = ""
17
+ end
18
+ l6[l7] = l3[((l4 + 1) * l7)...((l4 + 1) * (l7 + 1))]
19
+ l7 += 1
20
+ end
21
+ l7 = l5
22
+ while (l7 < l2) do
23
+ l6[l7] = l3[
24
+ ((l4 * (l7 - l5)) + ((l4 + 1) * l5))...
25
+ ((l4 * (l7 - l5)) + ((l4 + 1) * l5)) + l4
26
+ ]
27
+ l7 += 1
28
+ end
29
+ l8 = ''
30
+ l7 = 0
31
+ while (l7 < l6[0].length) do
32
+ l10 = 0
33
+ while (l10 < l6.length) do
34
+ l8 = (l8 + l6[l10][l7]) if (l7 < l6[l10].length)
35
+ l10 += 1
36
+ end
37
+ l7 += 1
38
+ end
39
+ l8 = CGI::unescape(l8)
40
+ l9 = ''
41
+ l7 = 0
42
+ while (l7 < l8.length) do
43
+ if (l8[l7] == '^')
44
+ l9 = (l9 + "0")
45
+ else
46
+ l9 = (l9 + l8[l7])
47
+ end
48
+ l7 += 1
49
+ end
50
+ l9 = l9.gsub('+', ' ')
51
+ return l9
52
+ end
53
+
54
+ end
55
+ end
@@ -0,0 +1,3 @@
1
+ module XiamiCloner
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'xiami_cloner/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "xiami_cloner"
8
+ spec.version = XiamiCloner::VERSION
9
+ spec.authors = ["Jiahao Li"]
10
+ spec.email = ["isundaylee.reg@gmail.com"]
11
+ spec.description = %q{A gem for downloading music from Xiami. }
12
+ spec.summary = %q{A gem for downloading music from Xiami. }
13
+ spec.homepage = "http://github.com/isundaylee/xiami_cloner"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+
24
+ spec.add_dependency "nokogiri"
25
+ spec.add_dependency "ruby-pinyin"
26
+ spec.add_dependency "main"
27
+
28
+ # lock down ZenTest version to avoid illformed requirement issue
29
+ spec.add_dependency "ZenTest", "4.8.3"
30
+
31
+ # brew install freeimage
32
+ spec.add_dependency "image_science"
33
+
34
+ # brew install taglib
35
+ spec.add_dependency "taglib-ruby"
36
+ end
metadata ADDED
@@ -0,0 +1,200 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xiami_cloner
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jiahao Li
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: ruby-pinyin
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: main
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ZenTest
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 4.8.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 4.8.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: image_science
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: taglib-ruby
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: 'A gem for downloading music from Xiami. '
126
+ email:
127
+ - isundaylee.reg@gmail.com
128
+ executables:
129
+ - xiami
130
+ - xm_clone
131
+ - xm_clone_local
132
+ - xm_retrieve_album
133
+ extensions: []
134
+ extra_rdoc_files: []
135
+ files:
136
+ - .gitignore
137
+ - Gemfile
138
+ - Gemfile.lock
139
+ - LICENSE.txt
140
+ - README.md
141
+ - Rakefile
142
+ - assets/icons/per00.ai
143
+ - assets/icons/per00.png
144
+ - assets/icons/per01.ai
145
+ - assets/icons/per01.png
146
+ - assets/icons/per02.ai
147
+ - assets/icons/per02.png
148
+ - assets/icons/per03.ai
149
+ - assets/icons/per03.png
150
+ - assets/icons/per04.ai
151
+ - assets/icons/per04.png
152
+ - assets/icons/per05.ai
153
+ - assets/icons/per05.png
154
+ - assets/icons/per06.ai
155
+ - assets/icons/per06.png
156
+ - assets/icons/per07.ai
157
+ - assets/icons/per07.png
158
+ - assets/icons/per08.ai
159
+ - assets/icons/per08.png
160
+ - assets/icons/per09.ai
161
+ - assets/icons/per09.png
162
+ - assets/icons/per10.ai
163
+ - assets/icons/per10.png
164
+ - assets/icons/perok.ai
165
+ - assets/icons/perok.png
166
+ - assets/me.ljh.xiami_cloner.plist
167
+ - assets/xm_menubar
168
+ - bin/xiami
169
+ - bin/xm_clone
170
+ - bin/xm_clone_local
171
+ - bin/xm_retrieve_album
172
+ - lib/xiami_cloner.rb
173
+ - lib/xiami_cloner/location_decoder.rb
174
+ - lib/xiami_cloner/version.rb
175
+ - xiami_cloner.gemspec
176
+ homepage: http://github.com/isundaylee/xiami_cloner
177
+ licenses:
178
+ - MIT
179
+ metadata: {}
180
+ post_install_message:
181
+ rdoc_options: []
182
+ require_paths:
183
+ - lib
184
+ required_ruby_version: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - '>='
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ required_rubygems_version: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ requirements: []
195
+ rubyforge_project:
196
+ rubygems_version: 2.0.0.rc.2
197
+ signing_key:
198
+ specification_version: 4
199
+ summary: A gem for downloading music from Xiami.
200
+ test_files: []