itunes_review 0.0.2 → 0.0.3

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/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