sogou-search-api 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/Gemfile +4 -0
- data/LICENSE +21 -0
- data/README.md +8 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/examples/account.rb +22 -0
- data/examples/keyword.rb +40 -0
- data/examples/plan.rb +29 -0
- data/examples/promotion_group.rb +43 -0
- data/examples/report.rb +37 -0
- data/lib/sogou/search/api.rb +35 -0
- data/lib/sogou/search/api/auth.rb +54 -0
- data/lib/sogou/search/api/core/api_command.rb +114 -0
- data/lib/sogou/search/api/core/base_service.rb +59 -0
- data/lib/sogou/search/api/core/logging.rb +15 -0
- data/lib/sogou/search/api/core/regions.rb +429 -0
- data/lib/sogou/search/api/errors.rb +50 -0
- data/lib/sogou/search/api/options.rb +17 -0
- data/lib/sogou/search/api/service/account.rb +20 -0
- data/lib/sogou/search/api/service/keyword.rb +45 -0
- data/lib/sogou/search/api/service/plan.rb +25 -0
- data/lib/sogou/search/api/service/promotion_group.rb +33 -0
- data/lib/sogou/search/api/service/report.rb +49 -0
- data/lib/sogou/search/api/version.rb +24 -0
- data/sogou-search-api.gemspec +30 -0
- metadata +142 -0
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require_relative '../options'
|
3
|
+
require_relative 'api_command'
|
4
|
+
|
5
|
+
module Sogou
|
6
|
+
module Search
|
7
|
+
module Api
|
8
|
+
module Core
|
9
|
+
class BaseService
|
10
|
+
attr_accessor :authorization
|
11
|
+
attr_accessor :client_options
|
12
|
+
|
13
|
+
def initialize(service)
|
14
|
+
@url = "http://#{service_host}/sem/sms/v1/#{service}?wsdl"
|
15
|
+
@client_options = ClientOptions.default.dup
|
16
|
+
end
|
17
|
+
|
18
|
+
protected
|
19
|
+
|
20
|
+
def make_command(operation, params: {}, options: {})
|
21
|
+
ApiCommand.new(operation).tap do |command|
|
22
|
+
command.params = params unless params.empty?
|
23
|
+
command.options = options
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def execute_command(command, &block)
|
28
|
+
command.execute(client, &block)
|
29
|
+
end
|
30
|
+
|
31
|
+
def client
|
32
|
+
@client ||= Savon::Client.new do |savon|
|
33
|
+
savon.wsdl(@url)
|
34
|
+
savon.pretty_print_xml(true)
|
35
|
+
savon.namespaces('xmlns:v1' => 'http://api.sogou.com/sem/common/v1')
|
36
|
+
savon.env_namespace(:soapenv)
|
37
|
+
savon.namespace_identifier(:v11)
|
38
|
+
savon.convert_response_tags_to(lambda { |key| key.snakecase })
|
39
|
+
|
40
|
+
soap_header = {}
|
41
|
+
authorization.apply(soap_header) if authorization
|
42
|
+
savon.soap_header(soap_header)
|
43
|
+
|
44
|
+
savon.proxy(client_options.proxy_url) if client_options.proxy_url
|
45
|
+
savon.open_timeout(client_options.open_timeout_sec) if client_options.open_timeout_sec
|
46
|
+
savon.read_timeout(client_options.read_timeout_sec) if client_options.read_timeout_sec
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def service_host
|
53
|
+
"api.agent.sogou.com#{ENV.fetch('ENV', 'development') == 'development' ? ':8080' : ''}"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,429 @@
|
|
1
|
+
module Sogou
|
2
|
+
module Search
|
3
|
+
module Api
|
4
|
+
module Core
|
5
|
+
module Regions
|
6
|
+
REGIONS_CODE = {
|
7
|
+
1 => 'All regions',
|
8
|
+
1000 => 'Beijing',
|
9
|
+
2000 => 'Shanghai',
|
10
|
+
3000 => 'Tianjin',
|
11
|
+
4000 => 'Guangdong',
|
12
|
+
5000 => 'Fujian',
|
13
|
+
8000 => 'Hainan',
|
14
|
+
9000 => 'Anhui',
|
15
|
+
10000 => 'Guizhou',
|
16
|
+
11000 => 'Gansu',
|
17
|
+
12000 => 'Guangxi',
|
18
|
+
13000 => 'Hebei',
|
19
|
+
14000 => 'Henan',
|
20
|
+
15000 => 'Heilongjiang',
|
21
|
+
16000 => 'Hubei',
|
22
|
+
17000 => 'Hunan',
|
23
|
+
18000 => 'Jilin',
|
24
|
+
19000 => 'Jiangsu',
|
25
|
+
20000 => 'Jiangxi',
|
26
|
+
21000 => 'Liaoning',
|
27
|
+
22000 => 'Inner Mongolia',
|
28
|
+
23000 => 'Ningxia',
|
29
|
+
24000 => 'Qinghai',
|
30
|
+
25000 => 'Shandong',
|
31
|
+
26000 => 'Shanxi',
|
32
|
+
27000 => 'Shaanxi',
|
33
|
+
28000 => 'Sichuan',
|
34
|
+
29000 => 'Tibet',
|
35
|
+
30000 => 'Xinjiang',
|
36
|
+
31000 => 'Yunnan',
|
37
|
+
32000 => 'Zhejiang',
|
38
|
+
33000 => 'Chongqing',
|
39
|
+
34000 => 'Hong Kong, Maucao and other regions',
|
40
|
+
34100 => 'Hong Kong',
|
41
|
+
34200 => 'Taiwan',
|
42
|
+
34300 => 'Macao',
|
43
|
+
34400 => 'overseas',
|
44
|
+
35000 => 'No region',
|
45
|
+
4085 => 'Chaozhou City',
|
46
|
+
4116 => 'Dongguan city',
|
47
|
+
4090 => 'Foshan City',
|
48
|
+
4084 => 'Guangzhou City',
|
49
|
+
4115 => 'Heyuan City',
|
50
|
+
4117 => 'Huizhou',
|
51
|
+
4082 => 'Jiangmen',
|
52
|
+
4083 => 'Jieyang City',
|
53
|
+
4086 => 'Maoming City',
|
54
|
+
4088 => 'Meizhou City',
|
55
|
+
4089 => 'Qingyuan City',
|
56
|
+
4091 => 'Shan Tou',
|
57
|
+
4092 => 'Shanwei City',
|
58
|
+
4094 => 'Shaoguan City',
|
59
|
+
4093 => 'Shenzhen',
|
60
|
+
4109 => 'Yangjiang City',
|
61
|
+
4111 => 'Yunfu City',
|
62
|
+
4110 => 'Zhangjiang City',
|
63
|
+
4114 => 'Zhaoqing',
|
64
|
+
4112 => 'Zhongshan City',
|
65
|
+
4113 => 'Zhuhai city',
|
66
|
+
5081 => 'Fuzhou',
|
67
|
+
5050 => 'Longyan City',
|
68
|
+
5049 => 'Nanping City',
|
69
|
+
5051 => 'Ningde City',
|
70
|
+
5048 => 'Putian City',
|
71
|
+
5052 => 'Quanzhou',
|
72
|
+
5066 => 'Sanming City',
|
73
|
+
5070 => 'Xiamen City',
|
74
|
+
5080 => 'Zhangzhou City',
|
75
|
+
8493 => 'Baisha Li Autonomous County',
|
76
|
+
8488 => 'Baoting Li and Miao Autonomous County',
|
77
|
+
8492 => 'Changjiang Li Autonomous County',
|
78
|
+
8487 => 'Chengmai County',
|
79
|
+
8303 => 'Pizhou City',
|
80
|
+
8484 => 'Ding\'an County',
|
81
|
+
8296 => 'Oriental City',
|
82
|
+
8302 => 'Haikou',
|
83
|
+
8490 => 'Le Dong Li Autonomous County',
|
84
|
+
8491 => 'Lingao County',
|
85
|
+
8486 => 'Lingshui Li Autonomous County',
|
86
|
+
8297 => 'Qionghai City',
|
87
|
+
8489 => 'Joan Li and Miao Autonomous County',
|
88
|
+
8298 => 'Sanya City',
|
89
|
+
8295 => 'Sansha City',
|
90
|
+
8485 => 'Tunchang County',
|
91
|
+
8301 => 'Wanning City',
|
92
|
+
8299 => 'Wenchang City',
|
93
|
+
8300 => 'Wuzhishan City',
|
94
|
+
9128 => 'Anqing City',
|
95
|
+
9141 => 'Bengbu',
|
96
|
+
9143 => 'Bozhou City',
|
97
|
+
9130 => 'Chizhou city',
|
98
|
+
9131 => 'Chuzhou City',
|
99
|
+
9140 => 'Fuyang City',
|
100
|
+
9142 => 'Hefei',
|
101
|
+
9127 => 'Huaibei City',
|
102
|
+
9133 => 'Huainan City',
|
103
|
+
9132 => 'Huangshan City',
|
104
|
+
9135 => 'Lu\'an City',
|
105
|
+
9134 => 'Ma\'anshan City',
|
106
|
+
9138 => 'Tongling City',
|
107
|
+
9139 => 'Wuhu',
|
108
|
+
9137 => 'Suzhou City',
|
109
|
+
9136 => 'Declare the city',
|
110
|
+
10119 => 'Anshun City',
|
111
|
+
10124 => 'Bijie City',
|
112
|
+
10118 => 'Guiyang City',
|
113
|
+
10120 => 'Liupanshui City',
|
114
|
+
10122 => 'Qiandongnan Miao and Dong Autonomous Prefecture',
|
115
|
+
10121 => 'Qiannan Buyi and Miao Autonomous Prefecture',
|
116
|
+
10123 => 'Southwest Guizhou Buyi and Miao Autonomous Prefecture',
|
117
|
+
10125 => 'Tongren City',
|
118
|
+
10126 => 'Zunyi City',
|
119
|
+
11267 => 'Silver City',
|
120
|
+
11263 => 'Dingxi City',
|
121
|
+
11477 => 'Gannan Tibetan Autonomous Prefecture',
|
122
|
+
11257 => 'Jiayuguan City',
|
123
|
+
11256 => 'Jinchang City',
|
124
|
+
11255 => 'Jiuquan City',
|
125
|
+
11258 => 'Lan\'Zhou City',
|
126
|
+
11261 => 'Linxia Hui Autonomous Prefecture',
|
127
|
+
11259 => 'Longnan City',
|
128
|
+
11260 => 'Pingliang City',
|
129
|
+
11262 => 'Qingyang City',
|
130
|
+
11265 => 'Tianshui City',
|
131
|
+
11264 => 'Wuwei City',
|
132
|
+
11266 => 'Zhangye City',
|
133
|
+
12108 => 'Baise City',
|
134
|
+
12104 => 'Beihai City',
|
135
|
+
12478 => 'Chongzuo City',
|
136
|
+
12098 => 'Fangchenggang City',
|
137
|
+
12096 => 'Guigang City',
|
138
|
+
12095 => 'Guilin',
|
139
|
+
12106 => 'Hechi City',
|
140
|
+
12107 => 'Hezhou City',
|
141
|
+
12100 => 'Laibin city',
|
142
|
+
12101 => 'Liuzhou City',
|
143
|
+
12099 => 'NanNing City',
|
144
|
+
12102 => 'Qinzhou City',
|
145
|
+
12103 => 'Wuzhou City',
|
146
|
+
12105 => 'Yulin City',
|
147
|
+
13304 => 'Baoding',
|
148
|
+
13305 => 'Cangzhou City',
|
149
|
+
13306 => 'Chengde City',
|
150
|
+
13330 => 'Handan',
|
151
|
+
13332 => 'Hengshui City',
|
152
|
+
13307 => 'Langfang City',
|
153
|
+
13325 => 'Qinhuangdao City',
|
154
|
+
13327 => 'Shijiazhuang City',
|
155
|
+
13329 => 'Tangshan City',
|
156
|
+
13326 => 'Xingtai city',
|
157
|
+
13331 => 'Zhangjiakou City',
|
158
|
+
14309 => 'Anyang City',
|
159
|
+
14323 => 'Hebi City',
|
160
|
+
14476 => 'Jiyuan City',
|
161
|
+
14308 => 'Jiaozuo City',
|
162
|
+
14310 => 'Kaifeng City',
|
163
|
+
14311 => 'Luoyang City',
|
164
|
+
14312 => 'Luohe City',
|
165
|
+
14315 => 'Nanyang City',
|
166
|
+
14313 => 'Pingdingshan City',
|
167
|
+
14316 => 'Puyang City',
|
168
|
+
14321 => 'Sanmenxia City',
|
169
|
+
14320 => 'Shangqiu City',
|
170
|
+
14317 => 'Xinxiang City',
|
171
|
+
14318 => 'Xinyang City',
|
172
|
+
14319 => 'Xuchang City',
|
173
|
+
14322 => 'Zhengzhou City',
|
174
|
+
14324 => 'Zhoukou City',
|
175
|
+
14314 => 'Zhumadian City',
|
176
|
+
15342 => 'Daqing City',
|
177
|
+
15343 => 'Daxinganling area',
|
178
|
+
15335 => 'Harbin City',
|
179
|
+
15344 => 'Hegang City',
|
180
|
+
15345 => 'Heihe city',
|
181
|
+
15333 => 'Jixi City',
|
182
|
+
15334 => 'Jiamusi City',
|
183
|
+
15336 => 'Mudanjiang City',
|
184
|
+
15338 => 'Qitaihe City',
|
185
|
+
15337 => 'Qiqihar City',
|
186
|
+
15340 => 'Shuangyashan City',
|
187
|
+
15339 => 'Suihua City',
|
188
|
+
15341 => 'Yichun City',
|
189
|
+
16377 => 'Ezhou City',
|
190
|
+
16366 => 'Enshi Tujia and Miao Autonomous Prefecture',
|
191
|
+
16349 => 'Huanggang City',
|
192
|
+
16348 => 'Yellowstone City',
|
193
|
+
16346 => 'Jingmen City',
|
194
|
+
16347 => 'Jingzhou City',
|
195
|
+
16364 => 'Qianjiang City',
|
196
|
+
16368 => 'Shennongjia forest area',
|
197
|
+
16369 => 'Shiyan City',
|
198
|
+
16367 => 'Suizhou City',
|
199
|
+
16373 => 'Tianmen City',
|
200
|
+
16371 => 'Wuhan',
|
201
|
+
16372 => 'Xiantao City',
|
202
|
+
16375 => 'Xianning City',
|
203
|
+
16370 => 'Xiangyang City',
|
204
|
+
16365 => 'Xiaogan City',
|
205
|
+
16376 => 'Yichang City',
|
206
|
+
17351 => 'Changde City',
|
207
|
+
17353 => 'Chenzhou City',
|
208
|
+
17360 => 'Hengyang City',
|
209
|
+
17350 => 'Huaihua City',
|
210
|
+
17354 => 'Loudi City',
|
211
|
+
17355 => 'Shaoyang City',
|
212
|
+
17356 => 'Xiangtan City',
|
213
|
+
17357 => 'Xiangxi Tujia and Miao Autonomous Prefecture',
|
214
|
+
17359 => 'Yiyang City',
|
215
|
+
17362 => 'Yongzhou City',
|
216
|
+
17361 => 'Yueyang City',
|
217
|
+
17358 => 'Zhangjiajie City',
|
218
|
+
17352 => 'Changsha City',
|
219
|
+
17363 => 'Zhuzhou City',
|
220
|
+
18039 => 'White City',
|
221
|
+
18042 => 'Hakusan City',
|
222
|
+
18038 => 'Jilin City',
|
223
|
+
18041 => 'Liaoyuan City',
|
224
|
+
18043 => 'Siping City',
|
225
|
+
18044 => 'Matsubara City',
|
226
|
+
18045 => 'Tonghua City',
|
227
|
+
18047 => 'Yanbian Korean Autonomous Prefecture',
|
228
|
+
18040 => 'Changchun City',
|
229
|
+
19054 => 'Changzhou City',
|
230
|
+
19053 => 'Huaian city',
|
231
|
+
19057 => 'Lianyungang City',
|
232
|
+
19055 => 'Nanjing',
|
233
|
+
19056 => 'Nantong city',
|
234
|
+
19059 => 'Suzhou City',
|
235
|
+
19061 => 'Taizhou City',
|
236
|
+
19062 => 'Wuxi City',
|
237
|
+
19060 => 'Suqian City',
|
238
|
+
19058 => 'Xuzhou',
|
239
|
+
19063 => 'Yancheng',
|
240
|
+
19064 => 'Yangzhou',
|
241
|
+
19065 => 'Zhenjiang',
|
242
|
+
20078 => 'Fuzhou City',
|
243
|
+
20077 => 'Ganzhou City',
|
244
|
+
20068 => 'Ji\'an City',
|
245
|
+
20069 => 'Jingdezhen City',
|
246
|
+
20067 => 'Jiujiang City',
|
247
|
+
20072 => 'Nanchang City',
|
248
|
+
20071 => 'Pingxiang City',
|
249
|
+
20074 => 'Shangrao City',
|
250
|
+
20073 => 'Xinyu City',
|
251
|
+
20075 => 'Yichun City',
|
252
|
+
20076 => 'Yingtan City',
|
253
|
+
21151 => 'Anshan City',
|
254
|
+
21145 => 'Benxi City',
|
255
|
+
21147 => 'Chaoyang City',
|
256
|
+
21155 => 'Dalian City',
|
257
|
+
21144 => 'Dandong City',
|
258
|
+
21152 => 'Fushun City',
|
259
|
+
21150 => 'Fuxin City',
|
260
|
+
21157 => 'Huludao City',
|
261
|
+
21146 => 'Jinzhou City',
|
262
|
+
21148 => 'Liaoyang City',
|
263
|
+
21149 => 'Panjin City',
|
264
|
+
21153 => 'Shenyang city',
|
265
|
+
21154 => 'Tieling City',
|
266
|
+
21156 => 'Yingkou City',
|
267
|
+
22159 => 'Alxa League',
|
268
|
+
22162 => 'Bayannur City',
|
269
|
+
22169 => 'Baotou City',
|
270
|
+
22158 => 'Chifeng City',
|
271
|
+
22168 => 'Ordos City',
|
272
|
+
22167 => 'Hohhot',
|
273
|
+
22166 => 'Hulunbeir',
|
274
|
+
22161 => 'Tongliao City',
|
275
|
+
22164 => 'Wuhai City',
|
276
|
+
22163 => 'Wulanchabu',
|
277
|
+
22165 => 'Xilin Gol League',
|
278
|
+
22160 => 'Hing UNITA',
|
279
|
+
23170 => 'Guyuan City',
|
280
|
+
23171 => 'Shizuishan City',
|
281
|
+
23172 => 'Wuzhong City',
|
282
|
+
23174 => 'Yinchuan City',
|
283
|
+
23173 => 'Zhongwei City',
|
284
|
+
24496 => 'Guoluo Tibetan Autonomous Prefecture',
|
285
|
+
24494 => 'Haibei Tibetan Autonomous Prefecture',
|
286
|
+
24176 => 'Haidong area',
|
287
|
+
24479 => 'Hainan Tibetan Autonomous Prefecture',
|
288
|
+
24177 => 'Haixi Mongolian and Tibetan Autonomous Prefecture',
|
289
|
+
24495 => 'Huangnan Tibetan Autonomous Prefecture',
|
290
|
+
24175 => 'Xining City',
|
291
|
+
24178 => 'Yushu Tibetan Autonomous Prefecture',
|
292
|
+
25223 => 'Binzhou City',
|
293
|
+
25200 => 'Texas City',
|
294
|
+
25220 => 'Dongying City',
|
295
|
+
25222 => 'Heze City',
|
296
|
+
25196 => 'Jinan City',
|
297
|
+
25197 => 'Jining City',
|
298
|
+
25198 => 'Laiwu City',
|
299
|
+
25199 => 'Liaocheng',
|
300
|
+
25201 => 'Linyi City',
|
301
|
+
25202 => 'Qingdao City',
|
302
|
+
25203 => 'Rizhao City',
|
303
|
+
25208 => 'Tai\'an City',
|
304
|
+
25218 => 'Weihai',
|
305
|
+
25204 => 'Weifang',
|
306
|
+
25219 => 'City of Yantai',
|
307
|
+
25221 => 'Zaozhuang City',
|
308
|
+
25207 => 'Zibo City',
|
309
|
+
26217 => 'Datong City',
|
310
|
+
26205 => 'Jincheng City',
|
311
|
+
26206 => 'Jinzhong City',
|
312
|
+
26211 => 'Linfen City',
|
313
|
+
26210 => 'Luliang City',
|
314
|
+
26213 => 'Shuozhou City',
|
315
|
+
26214 => 'Taiyuan',
|
316
|
+
26212 => 'Xinzhou City',
|
317
|
+
26215 => 'Yangquan City',
|
318
|
+
26216 => 'Yuncheng City',
|
319
|
+
26209 => 'Changzhi City',
|
320
|
+
27240 => 'Ankang City',
|
321
|
+
27239 => 'Baoji City',
|
322
|
+
27248 => 'Hanzhong City',
|
323
|
+
27241 => 'Shangluo City',
|
324
|
+
27242 => 'Tongchuan City',
|
325
|
+
27243 => 'Weinan City',
|
326
|
+
27244 => 'Xi\'an',
|
327
|
+
27245 => 'Xianyang City',
|
328
|
+
27246 => 'Yan\'an City',
|
329
|
+
27249 => 'Yulin City',
|
330
|
+
28252 => 'Aba Tibetan and Qiang Autonomous Prefecture',
|
331
|
+
28247 => 'Bazhong city',
|
332
|
+
28226 => 'Chengdu',
|
333
|
+
28250 => 'Dazhou',
|
334
|
+
28232 => 'Deyang City',
|
335
|
+
28236 => 'Ganzi Tibetan Autonomous Prefecture',
|
336
|
+
28224 => 'Guang\'an City',
|
337
|
+
28225 => 'Guangyuan City',
|
338
|
+
28233 => 'Leshan',
|
339
|
+
28228 => 'Liangshan Yi Autonomous Prefecture',
|
340
|
+
28234 => 'Luzhou City',
|
341
|
+
28227 => 'Meishan City',
|
342
|
+
28229 => 'Mianyang City',
|
343
|
+
28231 => 'Nanchong City',
|
344
|
+
28235 => 'Neijiang City',
|
345
|
+
28230 => 'Panzhihua City',
|
346
|
+
28237 => 'Suining City',
|
347
|
+
28251 => 'Ya\'an city',
|
348
|
+
28254 => 'Yibin City',
|
349
|
+
28238 => 'Ziyang City',
|
350
|
+
28253 => 'Zigong City',
|
351
|
+
29498 => 'Ali area',
|
352
|
+
29480 => 'Changdu area',
|
353
|
+
29269 => 'Lhasa city',
|
354
|
+
29270 => 'Nyingchi area',
|
355
|
+
29268 => 'Nagqu area',
|
356
|
+
29271 => 'Shigatse area',
|
357
|
+
29497 => 'Shannan area',
|
358
|
+
30185 => 'Aksu area',
|
359
|
+
30499 => 'Alar City',
|
360
|
+
30182 => 'Altai region',
|
361
|
+
30191 => 'Bayingolin Mongolia Autonomous Prefecture',
|
362
|
+
30180 => 'Bortala Mongol Autonomous Prefecture',
|
363
|
+
30181 => 'Changji Hui Autonomous Prefecture',
|
364
|
+
30179 => 'Hami area',
|
365
|
+
30195 => 'Hotan area',
|
366
|
+
30183 => 'Kashi area',
|
367
|
+
30184 => 'Karamay City',
|
368
|
+
30186 => 'Kizilsu Kirgiz Autonomous Prefecture',
|
369
|
+
30187 => 'Shihezi City',
|
370
|
+
30188 => 'Tacheng area',
|
371
|
+
30500 => 'Tumkuk city',
|
372
|
+
30190 => 'Turpan area',
|
373
|
+
30192 => 'Urumqi',
|
374
|
+
30189 => 'Five Drainage City',
|
375
|
+
30193 => 'Ili Kazak Autonomous Prefecture',
|
376
|
+
31289 => 'Baoshan City',
|
377
|
+
31283 => 'Chuxiong Yi Autonomous Prefecture',
|
378
|
+
31292 => 'Dali Bai Autonomous Prefecture',
|
379
|
+
31286 => 'Dehong Dai Jingpo Autonomous Prefecture',
|
380
|
+
31482 => 'Diqing Tibetan Autonomous Prefecture',
|
381
|
+
31293 => 'Honghe Hani and Yi Autonomous Prefecture',
|
382
|
+
31284 => 'Kunming',
|
383
|
+
31285 => 'Lijiang City',
|
384
|
+
31287 => 'Lincang City',
|
385
|
+
31481 => 'Nujiang Lisu Autonomous Prefecture',
|
386
|
+
31290 => 'Pu\'er City',
|
387
|
+
31288 => 'Qujing City',
|
388
|
+
31291 => 'Wenshan Zhuang and Miao Autonomous Prefecture',
|
389
|
+
31483 => 'Xishuangbanna Dai Autonomous Prefecture',
|
390
|
+
31295 => 'Yuxi City',
|
391
|
+
31294 => 'Zhaotong City',
|
392
|
+
32280 => 'Hangzhou',
|
393
|
+
32282 => 'Huzhou',
|
394
|
+
32273 => 'Jiaxing City',
|
395
|
+
32272 => 'Jinhua City',
|
396
|
+
32275 => 'Lishui City',
|
397
|
+
32276 => 'Ningbo City',
|
398
|
+
32274 => 'Quzhou City',
|
399
|
+
32277 => 'Shaoxing City',
|
400
|
+
32279 => 'Taizhou',
|
401
|
+
32278 => 'Wenzhou city',
|
402
|
+
32281 => 'Zhoushan City'
|
403
|
+
}
|
404
|
+
|
405
|
+
#
|
406
|
+
# API document (translated by Google translate) says "regions" value
|
407
|
+
# can be either Interger[] or Integer from
|
408
|
+
# http://apihome.sogou.com/document/ss/doc9-1.jsp and
|
409
|
+
# http://apihome.sogou.com/document/ss/doc9-2.jsp,
|
410
|
+
# But "regions" value is returned always as integer value.
|
411
|
+
# Unless we find the case for integer[], below method will work.
|
412
|
+
#
|
413
|
+
def convert_regions_to_string(results)
|
414
|
+
if results.is_a?(Hash)
|
415
|
+
region = results['regions']
|
416
|
+
if region
|
417
|
+
results['regions'] = REGIONS_CODE.fetch(region.to_i, region)
|
418
|
+
end
|
419
|
+
elsif results.is_a?(Array)
|
420
|
+
results = results.map { |r| convert_regions_to_string(r) }
|
421
|
+
end
|
422
|
+
|
423
|
+
results
|
424
|
+
end
|
425
|
+
end
|
426
|
+
end
|
427
|
+
end
|
428
|
+
end
|
429
|
+
end
|