repomd_parser 0.1.2 → 0.1.3

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
  SHA256:
3
- metadata.gz: f66b992112b4ddbe3d7a9c3059334212693df24d75e7602d1c81783ecfc3541b
4
- data.tar.gz: 4f45b6566455f64bb6e8d955ad875c8d57aeb8e5a86afb09d432587897ccf11d
3
+ metadata.gz: e30a0963a99091363f07215d726b850835931f857d009e84ae92609b68cdc772
4
+ data.tar.gz: 016d84a1b4932ce1234f2a7ff01b06d612c3bb71223c716831dd861233837d4f
5
5
  SHA512:
6
- metadata.gz: 7746d5eee7cdd68ad593de3cf13b53ac779faf183c31a48fa1dcf0161aac62335010a1d881c0e6d0baddbb668bc14dc3902be4df9b87730018908227807f785e
7
- data.tar.gz: 4c8a404fa99ec5aae9213b97582a65cc7c4b59e0dfe675c9596effcb0cf1ebe7e89ea2951038a926c131d2ad3659e5df0dc8f992eb7feb801887444a5a293abe
6
+ metadata.gz: db6fec53fdc531e39a5f6b71d01f64576faf9e00ba6fc2a21ae6e363e37dad7513b61ceddacf219f70ea50f291ae1cfb318ca2c4e25fb6ac07c6c8bb210f71dc
7
+ data.tar.gz: cf1d7b57fb27e40fb1d082e843236f831bf13066cad42d5447f125d63bf89e285fae55dde5071e6ec091e7bd75d8adbdd564273159cc7e85aa26cf59b80e4001
data/Gemfile.lock CHANGED
@@ -1,32 +1,32 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- repomd_parser (0.1.2)
5
- nokogiri (~> 1.8, >= 1.8.4)
4
+ repomd_parser (0.1.3)
5
+ nokogiri (~> 1.8, >= 1.8.5)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  diff-lcs (1.3)
11
11
  docile (1.3.1)
12
- json (2.1.0)
13
- mini_portile2 (2.3.0)
14
- nokogiri (1.8.4)
15
- mini_portile2 (~> 2.3.0)
12
+ json (2.2.0)
13
+ mini_portile2 (2.4.0)
14
+ nokogiri (1.10.3)
15
+ mini_portile2 (~> 2.4.0)
16
16
  rake (10.5.0)
17
- rspec (3.7.0)
18
- rspec-core (~> 3.7.0)
19
- rspec-expectations (~> 3.7.0)
20
- rspec-mocks (~> 3.7.0)
21
- rspec-core (3.7.1)
22
- rspec-support (~> 3.7.0)
23
- rspec-expectations (3.7.0)
17
+ rspec (3.8.0)
18
+ rspec-core (~> 3.8.0)
19
+ rspec-expectations (~> 3.8.0)
20
+ rspec-mocks (~> 3.8.0)
21
+ rspec-core (3.8.0)
22
+ rspec-support (~> 3.8.0)
23
+ rspec-expectations (3.8.3)
24
24
  diff-lcs (>= 1.2.0, < 2.0)
25
- rspec-support (~> 3.7.0)
26
- rspec-mocks (3.7.0)
25
+ rspec-support (~> 3.8.0)
26
+ rspec-mocks (3.8.0)
27
27
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.7.0)
29
- rspec-support (3.7.1)
28
+ rspec-support (~> 3.8.0)
29
+ rspec-support (3.8.0)
30
30
  simplecov (0.16.1)
31
31
  docile (~> 1.1)
32
32
  json (>= 1.8, < 3)
data/README.md CHANGED
@@ -66,6 +66,13 @@ Represents a file referenced in the metadata file. Has the following accessors:
66
66
  * `size` in bytes.
67
67
  * `arch`.
68
68
 
69
+ RPM and DRPM files additionally have the following attributes:
70
+
71
+ * `name`.
72
+ * `version`.
73
+ * `release`.
74
+ * `build_time`.
75
+
69
76
  ## Caveats
70
77
 
71
78
  * Relies on the file name to determine if the file is compressed (automatically decompresses `.gz` files)
@@ -27,12 +27,15 @@ class RepomdParser::PrimaryXmlParser < RepomdParser::BaseParser
27
27
  @package = {}
28
28
  elsif (name == 'version')
29
29
  @package[:version] = get_attribute(attrs, 'ver')
30
+ @package[:release] = get_attribute(attrs, 'rel')
30
31
  elsif (name == 'location')
31
32
  @package[:location] = get_attribute(attrs, 'href')
32
33
  elsif (name == 'checksum')
33
34
  @package[:checksum_type] = get_attribute(attrs, 'type')
34
35
  elsif (name == 'size')
35
36
  @package[:size] = get_attribute(attrs, 'package').to_i
37
+ elsif (name == 'time')
38
+ @package[:build_time] = get_attribute(attrs, 'build')
36
39
  end
37
40
  end
38
41
 
@@ -52,6 +55,10 @@ class RepomdParser::PrimaryXmlParser < RepomdParser::BaseParser
52
55
  type: :rpm,
53
56
  size: @package[:size].to_i,
54
57
  arch: @package[:arch],
58
+ version: @package[:version],
59
+ release: @package[:release],
60
+ name: @package[:name],
61
+ build_time: Time.at(@package[:build_time].to_i).utc
55
62
  )
56
63
  end
57
64
  end
@@ -16,9 +16,27 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
18
  class RepomdParser::Reference
19
- attr_accessor :location, :checksum_type, :checksum, :type, :size, :arch
19
+ attr_accessor :location,
20
+ :checksum_type,
21
+ :checksum,
22
+ :type,
23
+ :size,
24
+ :arch,
25
+ :version,
26
+ :release,
27
+ :name,
28
+ :build_time
20
29
 
21
- def initialize(location:, checksum_type:, checksum:, type:, size:, arch: nil)
30
+ def initialize(location:,
31
+ checksum_type:,
32
+ checksum:,
33
+ type:,
34
+ size:,
35
+ arch: nil,
36
+ version: nil,
37
+ release: nil,
38
+ name: nil,
39
+ build_time: nil)
22
40
  local_variables.each do |local_var|
23
41
  method = "#{local_var}="
24
42
  send(method, binding.local_variable_get(local_var)) if (respond_to?(method))
@@ -16,5 +16,5 @@
16
16
  # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
18
  module RepomdParser
19
- VERSION = '0.1.2'
19
+ VERSION = '0.1.3'
20
20
  end
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "rspec", "~> 3.0"
28
28
  spec.add_development_dependency 'simplecov', '~> 0.16.1'
29
29
 
30
- spec.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.4'
30
+ spec.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.5'
31
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repomd_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Kapelyukhin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-12 00:00:00.000000000 Z
11
+ date: 2019-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -75,7 +75,7 @@ dependencies:
75
75
  version: '1.8'
76
76
  - - ">="
77
77
  - !ruby/object:Gem::Version
78
- version: 1.8.4
78
+ version: 1.8.5
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
@@ -85,7 +85,7 @@ dependencies:
85
85
  version: '1.8'
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: 1.8.4
88
+ version: 1.8.5
89
89
  description:
90
90
  email:
91
91
  - ikapelyukhin@suse.com