gscomp 0.0.2 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gscomp/version.rb +1 -1
- data/lib/gscomp.rb +36 -26
- metadata +3 -5
- data/bin/gscomp +0 -8
data/lib/gscomp/version.rb
CHANGED
data/lib/gscomp.rb
CHANGED
@@ -11,7 +11,10 @@ require 'gtk2'
|
|
11
11
|
|
12
12
|
|
13
13
|
module Gscomp
|
14
|
-
|
14
|
+
HostAddress = 'http://localhost:3000/' # 'http://195.230.96.80/'
|
15
|
+
HostAuth = {:login => 'tester', :passwd => 'qwzxas'}
|
16
|
+
|
17
|
+
class Prices
|
15
18
|
private
|
16
19
|
def initialize
|
17
20
|
# Разрешаем отображение окна со всеми дочерними элементами
|
@@ -84,7 +87,6 @@ module Gscomp
|
|
84
87
|
end
|
85
88
|
end
|
86
89
|
pref.destroy
|
87
|
-
|
88
90
|
end
|
89
91
|
|
90
92
|
def on_click_about
|
@@ -104,24 +106,26 @@ module Gscomp
|
|
104
106
|
# Инициализация
|
105
107
|
def get_client_id
|
106
108
|
# Регистрация на сервере
|
107
|
-
uri = URI.parse('
|
108
|
-
uri.
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
end
|
109
|
+
uri = URI.parse(HostAddress + 'idfactory')
|
110
|
+
Net::HTTP.start(uri.host, uri.port) {|http|
|
111
|
+
req = Net::HTTP::Get.new(uri.path)
|
112
|
+
req.basic_auth HostAuth[:login], HostAuth[:passwd]
|
113
|
+
response = http.request(req)
|
114
|
+
response.body
|
115
|
+
}
|
115
116
|
end
|
116
117
|
|
117
118
|
# Запрос задания
|
118
119
|
def get_job (client_id)
|
119
|
-
uri = URI.parse('
|
120
|
-
uri.user = 'tester'
|
121
|
-
uri.password = 'qwzxas'
|
122
|
-
uri.query = URI.encode_www_form({:id => client_id})
|
120
|
+
uri = URI.parse(HostAddress + 'products')
|
123
121
|
begin
|
124
|
-
|
122
|
+
Net::HTTP.start(uri.host, uri.port) {|http|
|
123
|
+
req = Net::HTTP::Get.new(uri.path)
|
124
|
+
req.basic_auth HostAuth[:login], HostAuth[:passwd]
|
125
|
+
req.set_form_data({:client_id => client_id})
|
126
|
+
response = http.request(req)
|
127
|
+
JSON::parse(response.body)
|
128
|
+
}
|
125
129
|
rescue
|
126
130
|
nil
|
127
131
|
end
|
@@ -240,7 +244,8 @@ module Gscomp
|
|
240
244
|
:price => price.nil? ? '' : price[:price],
|
241
245
|
:currency => price.nil? ? '' : price[:currency],
|
242
246
|
:page_id => r['page_id'].to_s,
|
243
|
-
:link => r['link']
|
247
|
+
:link => r['link'],
|
248
|
+
:good => (name.length > 0 and price[:price].length > 0 and price[:currency].length > 0).to_s
|
244
249
|
}
|
245
250
|
end
|
246
251
|
@processed += 1
|
@@ -250,15 +255,19 @@ module Gscomp
|
|
250
255
|
|
251
256
|
# Отправка результатов
|
252
257
|
def send_job(result)
|
253
|
-
uri = URI.parse('
|
254
|
-
|
255
|
-
|
256
|
-
|
258
|
+
uri = URI.parse(HostAddress + 'products')
|
259
|
+
req = Net::HTTP::Post.new(uri.path)
|
260
|
+
req.basic_auth HostAuth[:login], HostAuth[:passwd]
|
261
|
+
req.set_form_data({:result => result.to_json})
|
262
|
+
Net::HTTP.new(uri.host, uri.port).start {|http|
|
263
|
+
http.request(req)
|
264
|
+
}
|
257
265
|
end
|
266
|
+
|
258
267
|
public
|
259
268
|
def process_packet
|
260
269
|
sleep 1 while not (client_id = get_client_id())
|
261
|
-
|
270
|
+
puts client_id
|
262
271
|
|
263
272
|
attempt = 10
|
264
273
|
sleep 1 while not (job = get_job(client_id) and attempt -= 1)
|
@@ -266,7 +275,7 @@ module Gscomp
|
|
266
275
|
# puts job
|
267
276
|
|
268
277
|
records = process_job(job)
|
269
|
-
|
278
|
+
puts records
|
270
279
|
|
271
280
|
result = {
|
272
281
|
:client_id => client_id,
|
@@ -277,20 +286,21 @@ module Gscomp
|
|
277
286
|
send_result = send_job(result)
|
278
287
|
case send_result
|
279
288
|
when Net::HTTPSuccess, Net::HTTPRedirection
|
280
|
-
p
|
289
|
+
p "Ответ - " + send_result.body
|
281
290
|
else
|
282
291
|
# p result.error
|
283
292
|
end
|
284
293
|
end
|
285
294
|
|
286
295
|
def main
|
287
|
-
uu = Thread.new do
|
296
|
+
# uu = Thread.new do
|
288
297
|
# Запускаем цикл обработки событий
|
289
298
|
loop do
|
290
299
|
process_packet()
|
291
300
|
sleep @power
|
292
|
-
|
293
|
-
end
|
301
|
+
end
|
302
|
+
#end
|
303
|
+
|
294
304
|
|
295
305
|
GLib::Timeout.add(1000) { on_timer }
|
296
306
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gscomp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,13 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-20 00:00:00.000000000Z
|
13
13
|
dependencies: []
|
14
14
|
description: GS computation
|
15
15
|
email:
|
16
16
|
- gs@gmail.com
|
17
|
-
executables:
|
18
|
-
- gscomp
|
17
|
+
executables: []
|
19
18
|
extensions: []
|
20
19
|
extra_rdoc_files: []
|
21
20
|
files:
|
@@ -23,7 +22,6 @@ files:
|
|
23
22
|
- Gemfile
|
24
23
|
- README.md
|
25
24
|
- Rakefile
|
26
|
-
- bin/gscomp
|
27
25
|
- gscomp.gemspec
|
28
26
|
- gscomp.sublime-project
|
29
27
|
- gscomp.sublime-workspace
|