tiny_grabber 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c48375a5210123b907c6ebe2a7911f1c7090188a
4
- data.tar.gz: 19b5052e7e79e876a40368d9e061a9aba032b7b4
3
+ metadata.gz: b4782960145d5f33281aacf96f4c4773f702d75d
4
+ data.tar.gz: 86fd979f097604e8383d98a03fd0157c150de4d3
5
5
  SHA512:
6
- metadata.gz: 498cffe418cabb9917dad706d8df5d6281fcc119418016dcd775169346fd5108fcdbf0af5c8d75cbb1472acfdef96d4bc82e037cfc339de729fd864f1dcdafc2
7
- data.tar.gz: 582d3bf2fa5cde9a54c2862d5f5d237218d483f69dadd8749eba93a07ab58a17ecfd1d40aaac5197823a155363bd51ae1196f5de033c33239432cd7b76d281b6
6
+ metadata.gz: 425e372d1753b7becf320681f385369af9fdb27002831c5371049a01c1100b9009e6f41904e31dbf447d34a57dd1b57ef9763bce371b42d397d82f1a47afd36e
7
+ data.tar.gz: a91b5a6fd8fed450d467495f54dc54e86c339590eb512c94359d0b1d2d8d0905a83b022cdceede87999d54b3d278d297ee33fdd3e5911ee43ae0c75a756c0c31
data/README.md CHANGED
@@ -39,6 +39,11 @@ params = { key: 'value' }
39
39
  tg = TinyGrabber.new
40
40
  # Set debug flag for view log information
41
41
  tg.debug = true
42
+ # Or set debug configuration
43
+ # active - flag to save log information
44
+ # destination - save log to file or print: [:file, :print]
45
+ # save_html - flag to save response html to file
46
+ tg.debug = { active: true, destination: :file, save_html: true }
42
47
  # Set max time to execute request
43
48
  tg.read_timeout = read_timeout
44
49
  # Set web browser name
@@ -79,6 +84,9 @@ response.body
79
84
 
80
85
  ## Changelog
81
86
 
87
+ * *v 0.2.2*
88
+ * Added debug configurations.
89
+
82
90
  * *v 0.2.1*
83
91
  * Setting random user_agent from list if it not seted
84
92
  * Remove headers attribute from singleton methods
@@ -5,6 +5,10 @@
5
5
  class TinyGrabber::Agent
6
6
  # Debug flag for detilazition log and save result HTML to /log/*.html file
7
7
  attr_accessor :debug
8
+ # Debug destination type
9
+ attr_accessor :debug_destination
10
+ # Debug flag for save html in file
11
+ attr_accessor :debug_save_html
8
12
  # Max time to execute request
9
13
  attr_accessor :read_timeout
10
14
  # Web browser name
@@ -46,6 +50,8 @@ class TinyGrabber::Agent
46
50
  #
47
51
  def initialize
48
52
  @debug = false
53
+ @debug_destination = :file
54
+ @debug_save_html = false
49
55
 
50
56
  # Initialize variables agent attributes
51
57
  @user_agent = AGENT_ALIASES[rand(AGENT_ALIASES.count) - 1]
@@ -148,10 +154,10 @@ class TinyGrabber::Agent
148
154
  #
149
155
  def fetch url, method = :get, headers = {}, params = {}
150
156
  if @debug
151
- p "#{debug_initial_word} =============================="
152
- p "#{debug_initial_word} #{method.upcase} #{url}"
153
- p "#{debug_initial_word} -> [params] = #{params}"
154
- p "#{debug_initial_word} ------------------------------"
157
+ Debug::save @debug_destination, '=============================='
158
+ Debug::save @debug_destination, "#{method.upcase} #{url}"
159
+ Debug::save @debug_destination, "-> [params] = #{params}"
160
+ Debug::save @debug_destination, '------------------------------'
155
161
  end
156
162
  set_uri url
157
163
  case method
@@ -170,22 +176,23 @@ class TinyGrabber::Agent
170
176
  case @response
171
177
  # HTTP response code 1xx
172
178
  when Net::HTTPInformation
179
+ Debug::save @debug_destination, "<- [response] = Net::HTTPInformation" if @debug
173
180
  # HTTP response code 2xx
174
181
  when Net::HTTPSuccess
175
182
  save_headers if @response.header
176
183
  save_cookies if @response.cookies
184
+ Debug::save @debug_destination, "<- [response] = #{@response.code} Net::HTTPSuccess" if @debug
177
185
  # HTTP response code 3xx
178
186
  when Net::HTTPRedirection
187
+ Debug::save @debug_destination, "<- [response] = #{@response.code} Net::HTTPRedirection" if @debug
179
188
  # HTTP response code 4xx
180
189
  when Net::HTTPClientError
190
+ Debug::save @debug_destination, "<- [response] = #{@response.code} Net::HTTPClientError" if @debug
181
191
  # HTTP response code 5xx
182
192
  when Net::HTTPServerError
193
+ Debug::save @debug_destination, "<- [response] = #{@response.code} Net::HTTPServerError" if @debug
183
194
  end
184
- if @debug
185
- debug_filename = "log/#{method.upcase}_#{@uri.to_s.gsub(/[\/:]/, '_').gsub(/_+/, '_')}"
186
- File.open(debug_filename, 'wb') { |f| f << @response.body } if @debug
187
- p "#{debug_initial_word} <- [html_file] = #{debug_filename}"
188
- end
195
+ Debug::save_to_file @response.body if @debug_save_html
189
196
  @response
190
197
  end
191
198
 
@@ -197,7 +204,7 @@ class TinyGrabber::Agent
197
204
  def set_uri url
198
205
  # It's magic work with escaped url
199
206
  @uri = URI(URI.escape(URI.unescape(url)))
200
- p "#{debug_initial_word} -> [uri] = #{@uri}" if @debug
207
+ Debug::save @debug_destination, "-> [uri] = #{@uri}" if @debug
201
208
  end
202
209
 
203
210
 
@@ -205,7 +212,7 @@ class TinyGrabber::Agent
205
212
  #
206
213
  def set_user_agent
207
214
  @headers['User-Agent'] = @user_agent
208
- p "#{debug_initial_word} -> [user_agent] = #{@user_agent}" if @debug
215
+ Debug::save @debug_destination, "-> [user_agent] = #{@user_agent}" if @debug
209
216
  end
210
217
 
211
218
 
@@ -213,7 +220,7 @@ class TinyGrabber::Agent
213
220
  #
214
221
  def set_basic_auth
215
222
  @request.basic_auth @basic_auth[:username], @basic_auth[:password]
216
- p "#{debug_initial_word} -> [basic_auth] = #{@basic_auth}" if @debug
223
+ Debug::save @debug_destination, "-> [basic_auth] = #{@basic_auth}" if @debug
217
224
  end
218
225
 
219
226
 
@@ -221,7 +228,7 @@ class TinyGrabber::Agent
221
228
  #
222
229
  def set_headers
223
230
  @headers.each { |k, v| @request.add_field(String(k), v) }
224
- p "#{debug_initial_word} -> [headers] = #{@headers}" if @debug
231
+ Debug::save @debug_destination, "-> [headers] = #{@headers}" if @debug
225
232
  end
226
233
 
227
234
 
@@ -229,7 +236,7 @@ class TinyGrabber::Agent
229
236
  #
230
237
  def set_cookies
231
238
  @request['Cookie'] = @cookies
232
- p "#{debug_initial_word} -> [cookies] = #{@cookies}" if @debug
239
+ Debug::save @debug_destination, "-> [cookies] = #{@cookies}" if @debug
233
240
  end
234
241
 
235
242
 
@@ -239,7 +246,7 @@ class TinyGrabber::Agent
239
246
  def send_request
240
247
  @http.start(@uri.host, @uri.port, use_ssl: @uri.scheme == 'https') do |http|
241
248
  http.read_timeout = @read_timeout
242
- p "#{debug_initial_word} -> [read_timeout] = #{@read_timeout}" if @debug
249
+ Debug::save @debug_destination, "-> [read_timeout] = #{@read_timeout}" if @debug
243
250
  http.request(@request)
244
251
  end
245
252
  end
@@ -251,7 +258,7 @@ class TinyGrabber::Agent
251
258
  @headers = @response.headers
252
259
  # Delete header TRANSFER_ENCODING for chain of requests
253
260
  @headers.delete('transfer-encoding')
254
- p "#{debug_initial_word} <- [headers] = #{@headers}" if @debug
261
+ Debug::save @debug_destination, "<- [headers] = #{@headers}" if @debug
255
262
  end
256
263
 
257
264
 
@@ -259,7 +266,7 @@ class TinyGrabber::Agent
259
266
  #
260
267
  def save_cookies
261
268
  @cookies = @response.cookies
262
- p "#{debug_initial_word} <- [cookies] = #{@cookies}" if @debug
269
+ Debug::save @debug_destination, "<- [cookies] = #{@cookies}" if @debug
263
270
  end
264
271
 
265
272
 
@@ -269,11 +276,4 @@ class TinyGrabber::Agent
269
276
  @headers = {}
270
277
  @cookies = nil
271
278
  end
272
-
273
-
274
- # Tiny grabber initial word for debug
275
- #
276
- def debug_initial_word
277
- "TG | #{Time.now.strftime('%Y%m%d-%H%M%S')} |"
278
- end
279
279
  end
@@ -1,4 +1,4 @@
1
1
  class TinyGrabber
2
2
  # Version number
3
- VERSION = "0.2.1"
3
+ VERSION = "0.2.2"
4
4
  end
data/lib/tiny_grabber.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'tiny_grabber/version'
2
2
  require 'tiny_grabber/agent'
3
+ require 'tiny_grabber/debug'
3
4
 
4
5
  require 'uri'
5
6
  require 'net/http'
@@ -80,7 +81,15 @@ class TinyGrabber
80
81
  # @param debug Flag to start debug
81
82
  #
82
83
  def debug= debug
83
- @agent.debug = debug
84
+ if debug.is_a?(TrueClass) || debug.is_a?(FalseClass)
85
+ @agent.debug = debug
86
+ @agent.debug_destination = :print
87
+ @agent.debug_save_html = false
88
+ elsif debug.is_a? Hash
89
+ @agent.debug = debug[:active]
90
+ @agent.debug_destination = debug[:destination]
91
+ @agent.debug_save_html = debug[:save_html]
92
+ end
84
93
  end
85
94
 
86
95
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_grabber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksandr Chernyshev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-03 00:00:00.000000000 Z
11
+ date: 2016-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: socksify