data_collector 0.43.0 → 0.45.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2c8102350695f8cfc598856372d9efd4bfa8b9cf4c3f84110b6dfbfdff3ee62
4
- data.tar.gz: 042bf4690116ba07f34459068e3afbc7e63f483c7e0518ecb1581833cb85b3ae
3
+ metadata.gz: a49714819cab65865ffa979707a867868ac0ce744a2e5dc6c278b29f63b61cb7
4
+ data.tar.gz: 69bdbf4961d01e4f3f83fd5ab56dd24a62da4d24c9cf7ac7633bbcd10d2320dd
5
5
  SHA512:
6
- metadata.gz: ff4a4c20f156dadbd665ff330f9c9f057a20391b2fc4fbab45afe59bb3071fd69aaaf6c67521b37a3d5d61b581761fcb21432be405d402a3571c32e47ce86f1b
7
- data.tar.gz: a52836f02b727c1ed679520492921bfed09892d79155bf56fa2b823792a04512cfae267d15c22210acc32a460a8f2ed2a350e6ece388e860a41b0fbb473e778d
6
+ metadata.gz: 7e60a28fbcdc39cfa01540bca282de4ad4a2fd4c256c7ef8193b77cfec6aaf62955d741a342b8ba8f68d58bfab714bb54cdfabcfe3c4e9411da52bd5d3f9afbd
7
+ data.tar.gz: 6e8630411c26f55a74d6230f237370e31cc05ca1971d7bf849fc9258b15f03103ba97f952c5ae49ded8bf343c536b7baf39effb1a3f528408e6c14c22a9a1414
@@ -33,31 +33,32 @@ module BunnyBurrow
33
33
  :connection_name
34
34
  )
35
35
 
36
- def initialize
37
- @connection_name = "#{Process.pid}-#{SecureRandom.uuid}"
38
- end
39
- # private
40
- #
41
- # def connection
42
- # Connection.instance.connection_name = @connection_name
43
- # Connection.instance.verify_peer = @verify_peer
44
- # Connection.instance.rabbitmq_url = @rabbitmq_url
45
- #
46
- # unless @connection
47
- # @connection = Connection.instance.connection
48
- # @connection.start unless @connection.open?
49
- # end
50
- #
51
- # @connection
52
- # end
53
- #
54
- # def channel
55
- # Connection.instance.connection_name = @connection_name
56
- # Connection.instance.verify_peer = @verify_peer
57
- # Connection.instance.rabbitmq_url = @rabbitmq_url
58
- #
59
- # @channel = Connection.instance.channel
36
+ # def initialize
37
+ # super
38
+ # @connection_name = "#{Process.pid}-#{SecureRandom.uuid}"
60
39
  # end
40
+ # private
41
+ #
42
+ # def connection
43
+ # Connection.instance.connection_name = @connection_name
44
+ # Connection.instance.verify_peer = @verify_peer
45
+ # Connection.instance.rabbitmq_url = @rabbitmq_url
46
+ #
47
+ # unless @connection
48
+ # @connection = Connection.instance.connection
49
+ # @connection.start unless @connection.open?
50
+ # end
51
+ #
52
+ # @connection
53
+ # end
54
+ #
55
+ # def channel
56
+ # Connection.instance.connection_name = @connection_name
57
+ # Connection.instance.verify_peer = @verify_peer
58
+ # Connection.instance.rabbitmq_url = @rabbitmq_url
59
+ #
60
+ # @channel = Connection.instance.channel
61
+ # end
61
62
  end
62
63
  end
63
64
 
@@ -140,6 +140,11 @@ module DataCollector
140
140
  http_query_options[:body] = options[:body]
141
141
 
142
142
  http_response = http.follow.post(escape_uri(uri), http_query_options)
143
+ elsif options.key?(:method) && options[:method].downcase.eql?('put')
144
+ raise DataCollector::InputError, "No body found, a PUT request needs a body" unless options.key?(:body)
145
+ http_query_options[:body] = options[:body]
146
+
147
+ http_response = http.follow.put(escape_uri(uri), http_query_options)
143
148
  else
144
149
  http_response = http.follow.get(escape_uri(uri), http_query_options)
145
150
  end
@@ -172,7 +177,7 @@ module DataCollector
172
177
  data = html_to_hash(data, options)
173
178
  when 'text/turtle'
174
179
  graph = RDF::Graph.new do |graph|
175
- RDF::Turtle::Reader.new(data) {|reader| graph << reader}
180
+ RDF::Turtle::Reader.new(data) { |reader| graph << reader }
176
181
  end
177
182
  data = JSON.parse(graph.dump(:jsonld, validate: false, standard_prefixes: true))
178
183
  when /^image/
@@ -238,9 +243,9 @@ module DataCollector
238
243
  data << xml_to_hash(d, options)
239
244
  end
240
245
  end
241
- end #block
242
- end #entry
243
- end #tar
246
+ end # block
247
+ end # entry
248
+ end # tar
244
249
  when '.csv'
245
250
  data = csv_to_hash(data, options)
246
251
  when '.jpg', '.png', '.gif'
@@ -267,7 +272,7 @@ module DataCollector
267
272
 
268
273
  def image_to_data(data, options = {})
269
274
  file_type = options['file_type']
270
- "data:#{file_type};#{Base64.encode64(data)}"
275
+ "data:#{file_type};base64,#{Base64.encode64(data)}"
271
276
  end
272
277
 
273
278
  def xml_to_hash(data, options = {})
@@ -290,7 +295,7 @@ module DataCollector
290
295
 
291
296
  def csv_to_hash(data, options = {})
292
297
  csv_option_keys = options.keys & CSV::DEFAULT_OPTIONS.keys
293
- all_cvs_options = {headers: true, header_converters: [:downcase, :symbol]}
298
+ all_cvs_options = { headers: true, header_converters: [:downcase, :symbol] }
294
299
 
295
300
  csv_option_keys.each do |k|
296
301
  all_cvs_options[k] = options[k]
@@ -49,7 +49,8 @@ module DataCollector
49
49
  if v.is_a?(Array) # merge with array
50
50
  @data[k] = [@data[k]] + v
51
51
  else
52
- @data[k] = [@data[k], v]
52
+ #@data[k] = [@data[k], v]
53
+ @data[k] = v
53
54
  end
54
55
  end
55
56
  else
@@ -287,8 +288,8 @@ module DataCollector
287
288
  end
288
289
 
289
290
  def to_https(uri, options)
290
-
291
- raise 'TODO'
291
+ input = Input.new
292
+ input.from_uri(uri.to_s, options)
292
293
  end
293
294
 
294
295
  def to_file(uri, options)
@@ -22,8 +22,16 @@ module DataCollector
22
22
 
23
23
  case rule
24
24
  when Array
25
+ odata = {}
25
26
  rule.each do |sub_rule|
26
- apply_rule(tag, sub_rule, input_data, output_data, options)
27
+ d=apply_rule(tag, sub_rule, input_data, output_data, options)
28
+ next if d.nil?
29
+ odata.merge!(d) {|k,v, n|
30
+ [v,n].flatten
31
+ }
32
+ end
33
+ odata.each do |k,v|
34
+ output_data.data[k] = v
27
35
  end
28
36
  return output_data
29
37
  when String
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module DataCollector
3
- VERSION = "0.43.0"
3
+ VERSION = "0.45.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_collector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.43.0
4
+ version: 0.45.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mehmet Celik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-08 00:00:00.000000000 Z
11
+ date: 2024-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport