repomd_parser 0.1.2 → 0.1.3
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 +4 -4
- data/Gemfile.lock +17 -17
- data/README.md +7 -0
- data/lib/repomd_parser/primary_xml_parser.rb +7 -0
- data/lib/repomd_parser/reference.rb +20 -2
- data/lib/repomd_parser/version.rb +1 -1
- data/repomd_parser.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e30a0963a99091363f07215d726b850835931f857d009e84ae92609b68cdc772
|
4
|
+
data.tar.gz: 016d84a1b4932ce1234f2a7ff01b06d612c3bb71223c716831dd861233837d4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
5
|
-
nokogiri (~> 1.8, >= 1.8.
|
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.
|
13
|
-
mini_portile2 (2.
|
14
|
-
nokogiri (1.
|
15
|
-
mini_portile2 (~> 2.
|
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.
|
18
|
-
rspec-core (~> 3.
|
19
|
-
rspec-expectations (~> 3.
|
20
|
-
rspec-mocks (~> 3.
|
21
|
-
rspec-core (3.
|
22
|
-
rspec-support (~> 3.
|
23
|
-
rspec-expectations (3.
|
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.
|
26
|
-
rspec-mocks (3.
|
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.
|
29
|
-
rspec-support (3.
|
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,
|
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:,
|
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))
|
data/repomd_parser.gemspec
CHANGED
@@ -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.
|
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.
|
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:
|
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.
|
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.
|
88
|
+
version: 1.8.5
|
89
89
|
description:
|
90
90
|
email:
|
91
91
|
- ikapelyukhin@suse.com
|