itunes_review 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,18 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- itunes_review (0.0.2)
4
+ itunes_review (0.0.3)
5
5
  hpricot
6
- httparty
7
6
 
8
7
  GEM
9
8
  specs:
10
9
  hpricot (0.8.6)
11
- httparty (0.9.0)
12
- multi_json (~> 1.0)
13
- multi_xml
14
- multi_json (1.3.6)
15
- multi_xml (0.5.1)
16
10
 
17
11
  PLATFORMS
18
12
  ruby
data/README.md ADDED
@@ -0,0 +1,25 @@
1
+ iTunes Review
2
+ ========
3
+
4
+ list of review from iTunes, iphone-scripts of gem. (https://github.com/jeremywohl/iphone-scripts)
5
+
6
+
7
+ Example
8
+ =======
9
+
10
+ Gemfile
11
+
12
+ $ gem 'itunes_review'
13
+
14
+ Command
15
+
16
+ ItunesReview.read(444063144)
17
+
18
+ Good Luck!
19
+
20
+ Testing
21
+ -------
22
+
23
+ Coding now.
24
+
25
+ Copyright (c) 2012 Masahiro Saito released under the New BSD License
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -16,5 +16,4 @@ Gem::Specification.new do |gem|
16
16
  gem.version = version
17
17
 
18
18
  gem.add_dependency 'hpricot'
19
- gem.add_dependency 'httparty'
20
19
  end
data/lib/itunes_review.rb CHANGED
@@ -2,105 +2,90 @@ require 'hpricot'
2
2
 
3
3
  class ItunesReview
4
4
 
5
- # MODIFY YOUR NATIVE LANGUAGE
6
- NATIVE_LANGUAGE = 'en'
7
- DEBUG = false
8
- TRANSLATE_URL = "http://ajax.googleapis.com/ajax/services/language/translate?"
9
-
10
5
  def self.stores
11
6
  [
12
7
  { :name => 'United States', :id => 143441, :language => 'en' },
13
- { :name => 'Argentina', :id => 143505, :language => 'es' },
14
- { :name => 'Australia', :id => 143460, :language => 'en' },
15
- { :name => 'Belgium', :id => 143446, :language => 'nl' },
16
- { :name => 'Brazil', :id => 143503, :language => 'pt' },
17
- { :name => 'Canada', :id => 143455, :language => 'en' },
18
- { :name => 'Chile', :id => 143483, :language => 'es' },
19
- { :name => 'China', :id => 143465, :language => 'zh-CN' },
20
- { :name => 'Colombia', :id => 143501, :language => 'es' },
21
- { :name => 'Costa Rica', :id => 143495, :language => 'es' },
22
- { :name => 'Croatia', :id => 143494, :language => 'hr' },
23
- { :name => 'Czech Republic', :id => 143489, :language => 'cs' },
24
- { :name => 'Denmark', :id => 143458, :language => 'da' },
25
- { :name => 'Deutschland', :id => 143443, :language => 'de' },
26
- { :name => 'El Salvador', :id => 143506, :language => 'es' },
27
- { :name => 'Espana', :id => 143454, :language => 'es' },
28
- { :name => 'Finland', :id => 143447, :language => 'fi' },
29
- { :name => 'France', :id => 143442, :language => 'fr' },
30
- { :name => 'Greece', :id => 143448, :language => 'el' },
31
- { :name => 'Guatemala', :id => 143504, :language => 'es' },
32
- { :name => 'Hong Kong', :id => 143463, :language => 'zh-TW' },
33
- { :name => 'Hungary', :id => 143482, :language => 'hu' },
34
- { :name => 'India', :id => 143467, :language => '' },
35
- { :name => 'Indonesia', :id => 143476, :language => '' },
36
- { :name => 'Ireland', :id => 143449, :language => '' },
37
- { :name => 'Israel', :id => 143491, :language => '' },
38
- { :name => 'Italia', :id => 143450, :language => 'it' },
39
- { :name => 'Korea', :id => 143466, :language => 'ko' },
40
- { :name => 'Kuwait', :id => 143493, :language => 'ar' },
41
- { :name => 'Lebanon', :id => 143497, :language => 'ar' },
42
- { :name => 'Luxembourg', :id => 143451, :language => 'de' },
43
- { :name => 'Malaysia', :id => 143473, :language => '' },
44
- { :name => 'Mexico', :id => 143468, :language => 'es' },
45
- { :name => 'Nederland', :id => 143452, :language => 'nl' },
46
- { :name => 'New Zealand', :id => 143461, :language => 'en' },
47
- { :name => 'Norway', :id => 143457, :language => 'no' },
48
- { :name => 'Osterreich', :id => 143445, :language => 'de' },
49
- { :name => 'Pakistan', :id => 143477, :language => '' },
50
- { :name => 'Panama', :id => 143485, :language => 'es' },
51
- { :name => 'Peru', :id => 143507, :language => 'es' },
52
- { :name => 'Phillipines', :id => 143474, :language => '' },
53
- { :name => 'Poland', :id => 143478, :language => 'pl' },
54
- { :name => 'Portugal', :id => 143453, :language => 'pt' },
55
- { :name => 'Qatar', :id => 143498, :language => 'ar' },
56
- { :name => 'Romania', :id => 143487, :language => 'ro' },
57
- { :name => 'Russia', :id => 143469, :language => 'ru' },
58
- { :name => 'Saudi Arabia', :id => 143479, :language => 'ar' },
59
- { :name => 'Schweiz/Suisse', :id => 143459, :language => 'auto' },
60
- { :name => 'Singapore', :id => 143464, :language => '' },
61
- { :name => 'Slovakia', :id => 143496, :language => '' },
62
- { :name => 'Slovenia', :id => 143499, :language => '' },
63
- { :name => 'South Africa', :id => 143472, :language => 'en' },
64
- { :name => 'Sri Lanka', :id => 143486, :language => '' },
65
- { :name => 'Sweden', :id => 143456, :language => 'sv' },
66
- { :name => 'Taiwan', :id => 143470, :language => 'zh-TW' },
67
- { :name => 'Thailand', :id => 143475, :language => 'th' },
68
- { :name => 'Turkey', :id => 143480, :language => 'tr' },
69
- { :name => 'United Arab Emirates', :id => 143481, :language => '' },
70
- { :name => 'United Kingdom', :id => 143444, :language => 'en' },
71
- { :name => 'Venezuela', :id => 143502, :language => 'es' },
72
- { :name => 'Vietnam', :id => 143471, :language => 'vi' },
8
+ #{ :name => 'Argentina', :id => 143505, :language => 'es' },
9
+ #{ :name => 'Australia', :id => 143460, :language => 'en' },
10
+ #{ :name => 'Belgium', :id => 143446, :language => 'nl' },
11
+ #{ :name => 'Brazil', :id => 143503, :language => 'pt' },
12
+ #{ :name => 'Canada', :id => 143455, :language => 'en' },
13
+ #{ :name => 'Chile', :id => 143483, :language => 'es' },
14
+ #{ :name => 'China', :id => 143465, :language => 'zh-CN' },
15
+ #{ :name => 'Colombia', :id => 143501, :language => 'es' },
16
+ #{ :name => 'Costa Rica', :id => 143495, :language => 'es' },
17
+ #{ :name => 'Croatia', :id => 143494, :language => 'hr' },
18
+ #{ :name => 'Czech Republic', :id => 143489, :language => 'cs' },
19
+ #{ :name => 'Denmark', :id => 143458, :language => 'da' },
20
+ #{ :name => 'Deutschland', :id => 143443, :language => 'de' },
21
+ #{ :name => 'El Salvador', :id => 143506, :language => 'es' },
22
+ #{ :name => 'Espana', :id => 143454, :language => 'es' },
23
+ #{ :name => 'Finland', :id => 143447, :language => 'fi' },
24
+ #{ :name => 'France', :id => 143442, :language => 'fr' },
25
+ #{ :name => 'Greece', :id => 143448, :language => 'el' },
26
+ #{ :name => 'Guatemala', :id => 143504, :language => 'es' },
27
+ #{ :name => 'Hong Kong', :id => 143463, :language => 'zh-TW' },
28
+ #{ :name => 'Hungary', :id => 143482, :language => 'hu' },
29
+ #{ :name => 'India', :id => 143467, :language => '' },
30
+ #{ :name => 'Indonesia', :id => 143476, :language => '' },
31
+ #{ :name => 'Ireland', :id => 143449, :language => '' },
32
+ #{ :name => 'Israel', :id => 143491, :language => '' },
33
+ #{ :name => 'Italia', :id => 143450, :language => 'it' },
34
+ #{ :name => 'Korea', :id => 143466, :language => 'ko' },
35
+ #{ :name => 'Kuwait', :id => 143493, :language => 'ar' },
36
+ #{ :name => 'Lebanon', :id => 143497, :language => 'ar' },
37
+ #{ :name => 'Luxembourg', :id => 143451, :language => 'de' },
38
+ #{ :name => 'Malaysia', :id => 143473, :language => '' },
39
+ #{ :name => 'Mexico', :id => 143468, :language => 'es' },
40
+ #{ :name => 'Nederland', :id => 143452, :language => 'nl' },
41
+ #{ :name => 'New Zealand', :id => 143461, :language => 'en' },
42
+ #{ :name => 'Norway', :id => 143457, :language => 'no' },
43
+ #{ :name => 'Osterreich', :id => 143445, :language => 'de' },
44
+ #{ :name => 'Pakistan', :id => 143477, :language => '' },
45
+ #{ :name => 'Panama', :id => 143485, :language => 'es' },
46
+ #{ :name => 'Peru', :id => 143507, :language => 'es' },
47
+ #{ :name => 'Phillipines', :id => 143474, :language => '' },
48
+ #{ :name => 'Poland', :id => 143478, :language => 'pl' },
49
+ #{ :name => 'Portugal', :id => 143453, :language => 'pt' },
50
+ #{ :name => 'Qatar', :id => 143498, :language => 'ar' },
51
+ #{ :name => 'Romania', :id => 143487, :language => 'ro' },
52
+ #{ :name => 'Russia', :id => 143469, :language => 'ru' },
53
+ #{ :name => 'Saudi Arabia', :id => 143479, :language => 'ar' },
54
+ #{ :name => 'Schweiz/Suisse', :id => 143459, :language => 'auto' },
55
+ #{ :name => 'Singapore', :id => 143464, :language => '' },
56
+ #{ :name => 'Slovakia', :id => 143496, :language => '' },
57
+ #{ :name => 'Slovenia', :id => 143499, :language => '' },
58
+ #{ :name => 'South Africa', :id => 143472, :language => 'en' },
59
+ #{ :name => 'Sri Lanka', :id => 143486, :language => '' },
60
+ #{ :name => 'Sweden', :id => 143456, :language => 'sv' },
61
+ #{ :name => 'Taiwan', :id => 143470, :language => 'zh-TW' },
62
+ #{ :name => 'Thailand', :id => 143475, :language => 'th' },
63
+ #{ :name => 'Turkey', :id => 143480, :language => 'tr' },
64
+ #{ :name => 'United Arab Emirates', :id => 143481, :language => '' },
65
+ #{ :name => 'United Kingdom', :id => 143444, :language => 'en' },
66
+ #{ :name => 'Venezuela', :id => 143502, :language => 'es' },
67
+ #{ :name => 'Vietnam', :id => 143471, :language => 'vi' },
73
68
  { :name => 'Japan', :id => 143462, :language => 'ja' },
74
69
 
75
70
  # stores added April 1, 2009
76
- { :name => 'Dominican Republic', :id => 143508, :language => 'es' },
77
- { :name => 'Ecuador', :id => 143509, :language => 'es' },
78
- { :name => 'Egypt', :id => 143516, :language => '' },
79
- { :name => 'Estonia', :id => 143518, :language => 'et' },
80
- { :name => 'Honduras', :id => 143510, :language => 'es' },
81
- { :name => 'Jamaica', :id => 143511, :language => '' },
82
- { :name => 'Kazakhstan', :id => 143517, :language => '' },
83
- { :name => 'Latvia', :id => 143519, :language => 'lv' },
84
- { :name => 'Lithuania', :id => 143520, :language => 'lt' },
85
- { :name => 'Macau', :id => 143515, :language => '' },
86
- { :name => 'Malta', :id => 143521, :language => 'mt' },
87
- { :name => 'Moldova', :id => 143523, :language => '' },
88
- { :name => 'Nicaragua', :id => 143512, :language => 'es' },
89
- { :name => 'Paraguay', :id => 143513, :language => 'es' },
90
- { :name => 'Uruguay', :id => 143514, :language => 'es' },
71
+ #{ :name => 'Dominican Republic', :id => 143508, :language => 'es' },
72
+ #{ :name => 'Ecuador', :id => 143509, :language => 'es' },
73
+ #{ :name => 'Egypt', :id => 143516, :language => '' },
74
+ #{ :name => 'Estonia', :id => 143518, :language => 'et' },
75
+ #{ :name => 'Honduras', :id => 143510, :language => 'es' },
76
+ #{ :name => 'Jamaica', :id => 143511, :language => '' },
77
+ #{ :name => 'Kazakhstan', :id => 143517, :language => '' },
78
+ #{ :name => 'Latvia', :id => 143519, :language => 'lv' },
79
+ #{ :name => 'Lithuania', :id => 143520, :language => 'lt' },
80
+ #{ :name => 'Macau', :id => 143515, :language => '' },
81
+ #{ :name => 'Malta', :id => 143521, :language => 'mt' },
82
+ #{ :name => 'Moldova', :id => 143523, :language => '' },
83
+ #{ :name => 'Nicaragua', :id => 143512, :language => 'es' },
84
+ #{ :name => 'Paraguay', :id => 143513, :language => 'es' },
85
+ #{ :name => 'Uruguay', :id => 143514, :language => 'es' },
91
86
  ]
92
87
  end
93
88
 
94
- def translate(opts)
95
- from = opts[:from] == 'auto' ? '' : opts[:from] # replace 'auto' with blank per Translate API
96
- to = opts[:to]
97
-
98
- result = HTTParty.get(TRANSLATE_URL, :query => { :v => '1.0', :langpair => "#{from}|#{to}", :q => opts[:text] })
99
-
100
- raise result['responseDetails'] if result['responseStatus'] != 200
101
- return result['responseData']['translatedText']
102
- end
103
-
104
89
  # return a rating/subject/author/body hash
105
90
  def self.fetch_reviews(software_id, store)
106
91
  reviews = []
@@ -113,11 +98,6 @@ class ItunesReview
113
98
  software_id)
114
99
 
115
100
  rawxml = `#{cmd}`
116
-
117
- if defined?(DEBUG) && DEBUG == true
118
- open("appreview.#{software_id}.#{store[:id]}.xml", 'w') { |f| f.write(rawxml) }
119
- end
120
-
121
101
  doc = Hpricot.XML(rawxml)
122
102
 
123
103
  doc.search("Document > View > ScrollView > VBoxView > View > MatrixView > VBoxView:nth(0) > VBoxView > VBoxView").each do |e|
@@ -125,26 +105,12 @@ class ItunesReview
125
105
 
126
106
  strings = (e/:SetFontStyle)
127
107
  meta = strings[2].inner_text.split(/\n/).map { |x| x.strip }
128
-
129
- # Note: Translate is sensitive to spaces around punctuation, so we make sure br's connote space.
130
108
  review[:rating] = e.inner_html.match(/alt="(\d+) star(s?)"/)[1].to_i
131
109
  review[:author] = meta[3]
132
110
  review[:version] = meta[7][/Version (.*)/, 1] unless meta[7].nil?
133
111
  review[:date] = meta[10]
134
112
  review[:subject] = strings[0].inner_text.strip
135
113
  review[:body] = strings[3].inner_html.gsub("<br />", "\n").strip
136
-
137
- if ! store[:language].empty? && store[:language] != NATIVE_LANGUAGE
138
- begin
139
- review[:subject] = translate( :from => store[:language], :to => NATIVE_LANGUAGE, :text => review[:subject] )
140
- review[:body] = translate( :from => store[:language], :to => NATIVE_LANGUAGE, :text => review[:body] )
141
- rescue => e
142
- if DEBUG
143
- puts "** oops, cannot translate #{store[:name]}/#{store[:language]} => #{NATIVE_LANGUAGE}: #{e.message}"
144
- end
145
- end
146
- end
147
-
148
114
  reviews << review
149
115
  end
150
116
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itunes_review
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-21 00:00:00.000000000 Z
12
+ date: 2012-09-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hpricot
@@ -27,22 +27,6 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: httparty
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
30
  description: iTunes review list
47
31
  email:
48
32
  - camelmasa@gmail.com
@@ -56,7 +40,7 @@ files:
56
40
  - Gemfile
57
41
  - Gemfile.lock
58
42
  - LICENSE.txt
59
- - README.rdoc
43
+ - README.md
60
44
  - Rakefile
61
45
  - VERSION
62
46
  - itunes_review.gemspec
@@ -77,7 +61,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
61
  version: '0'
78
62
  segments:
79
63
  - 0
80
- hash: 1410441669035703072
64
+ hash: -2024751565828229303
81
65
  required_rubygems_version: !ruby/object:Gem::Requirement
82
66
  none: false
83
67
  requirements:
@@ -86,7 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
70
  version: '0'
87
71
  segments:
88
72
  - 0
89
- hash: 1410441669035703072
73
+ hash: -2024751565828229303
90
74
  requirements: []
91
75
  rubyforge_project:
92
76
  rubygems_version: 1.8.23
data/README.rdoc DELETED
File without changes