relaton-cli 0.1.6 → 0.1.7
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 +6 -6
- data/{README.adoc → docs/README.adoc} +0 -0
- data/lib/relaton/bibdata.rb +23 -6
- data/lib/relaton/cli/command.rb +1 -1
- data/lib/relaton/cli/relaton_file.rb +14 -5
- data/lib/relaton/cli/version.rb +1 -1
- data/relaton-cli.gemspec +3 -3
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b73f1ac92117d1c3426a66fbe8ece05535b4441696a62a84f9aa5ce93379900f
|
4
|
+
data.tar.gz: fb5ceb3383573256860f22af4eea6a2699b7a04e5d014b4764d1d9b4964674d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3274a54be270c3e9bd72aac19590a78a783015a0b1963b16cea1de3bc7f03924e11399c10324506119f384bdb5ea78392074b43c1666f832ec4eb58bd273b32
|
7
|
+
data.tar.gz: 99351248582ea4313b872ddcb59ead76c41f6fc4fd1dabde7666b9dae14516d889f734d81d08bf8ceb562dd87fcedb34570c3f18255ee316b35ee6d326650c1d
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
relaton-cli (0.1.
|
4
|
+
relaton-cli (0.1.7)
|
5
5
|
liquid
|
6
6
|
relaton (~> 0.3)
|
7
7
|
thor
|
@@ -9,9 +9,9 @@ PATH
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
addressable (2.
|
12
|
+
addressable (2.6.0)
|
13
13
|
public_suffix (>= 2.0.2, < 4.0)
|
14
|
-
algoliasearch (1.
|
14
|
+
algoliasearch (1.25.2)
|
15
15
|
httpclient (~> 2.8, >= 2.8.3)
|
16
16
|
json (>= 1.5.1)
|
17
17
|
byebug (10.0.2)
|
@@ -35,7 +35,7 @@ GEM
|
|
35
35
|
isoics (~> 0.1.6)
|
36
36
|
nokogiri (~> 1.8.4)
|
37
37
|
ruby_deep_clone (~> 0.8.0)
|
38
|
-
isobib (0.4.
|
38
|
+
isobib (0.4.3)
|
39
39
|
algoliasearch
|
40
40
|
iecbib (~> 0.2.1)
|
41
41
|
iso-bib-item (~> 0.4.2)
|
@@ -86,7 +86,7 @@ PLATFORMS
|
|
86
86
|
ruby
|
87
87
|
|
88
88
|
DEPENDENCIES
|
89
|
-
bundler (~> 1
|
89
|
+
bundler (~> 2.0.1)
|
90
90
|
byebug (~> 10.0)
|
91
91
|
equivalent-xml (~> 0.6)
|
92
92
|
pry
|
@@ -97,4 +97,4 @@ DEPENDENCIES
|
|
97
97
|
rspec-core (~> 3.4)
|
98
98
|
|
99
99
|
BUNDLED WITH
|
100
|
-
|
100
|
+
2.0.1
|
File without changes
|
data/lib/relaton/bibdata.rb
CHANGED
@@ -62,13 +62,28 @@ module Relaton
|
|
62
62
|
|
63
63
|
def self.from_xml(source)
|
64
64
|
|
65
|
+
datetype = "circulated"
|
66
|
+
|
65
67
|
# bib.relaton_xml_path = URI.escape("#{relaton_root}/#{id_code}.xml")
|
66
68
|
revdate = source.at(ns("./date[@type = 'published']")) ||
|
67
|
-
source.at(ns("./date[@type = 'circulated']")) ||
|
68
|
-
|
69
|
-
|
69
|
+
source.at(ns("./date[@type = 'circulated']")) ||
|
70
|
+
source.at(ns("./date"))
|
71
|
+
revdate_value = revdate&.at(ns("./on")) || revdate&.at(ns("./from"))
|
72
|
+
|
73
|
+
if revdate && revdate_value
|
74
|
+
datetype = revdate["type"]
|
75
|
+
revdate = begin
|
76
|
+
Date.parse(revdate_value.text.strip).to_s
|
77
|
+
rescue
|
78
|
+
warn "[relaton] parsing published date '#{revdate.text}' failed."
|
79
|
+
revdate_value.text.strip
|
80
|
+
end || nil
|
81
|
+
else
|
82
|
+
revdate = nil
|
83
|
+
end
|
84
|
+
|
70
85
|
|
71
|
-
|
86
|
+
options = {
|
72
87
|
uri: source.at(ns("./uri[not(@type)]"))&.text,
|
73
88
|
xml: source.at(ns("./uri[@type='xml']"))&.text,
|
74
89
|
pdf: source.at(ns("./uri[@type='pdf']"))&.text,
|
@@ -81,7 +96,7 @@ module Relaton
|
|
81
96
|
stage: source.at(ns("./status"))&.text,
|
82
97
|
technical_committee: source.at(ns("./editorialgroup/technical-committee"))&.text,
|
83
98
|
abstract: source.at(ns("./abstract"))&.text,
|
84
|
-
revdate: revdate
|
99
|
+
revdate: revdate,
|
85
100
|
language: source.at(ns("./language"))&.text,
|
86
101
|
script: source.at(ns("./script"))&.text,
|
87
102
|
edition: source.at(ns("./edition"))&.text,
|
@@ -92,7 +107,9 @@ module Relaton
|
|
92
107
|
contributor_publisher_role: source.at(ns("./contributor/role[@type='publisher']"))&.text,
|
93
108
|
contributor_publisher_organization: source.at(ns("./contributor/role[@type='publisher']"))&.parent&.at(ns("./organization/name"))&.text,
|
94
109
|
datetype: datetype
|
95
|
-
}
|
110
|
+
}
|
111
|
+
|
112
|
+
new(options)
|
96
113
|
end
|
97
114
|
|
98
115
|
def to_xml
|
data/lib/relaton/cli/command.rb
CHANGED
@@ -16,7 +16,7 @@ module Relaton
|
|
16
16
|
io.puts(fetch_document(code, options) || supported_type_message)
|
17
17
|
end
|
18
18
|
|
19
|
-
desc "extract Metanorma-XML-Directory Relaton-XML-Directory", "Extract Relaton XML from
|
19
|
+
desc "extract Metanorma-XML-File / Directory Relaton-XML-Directory", "Extract Relaton XML from Metanorma XML file / directory"
|
20
20
|
option :extension, aliases: :x, desc: "File extension of Relaton XML files, defaults to 'rxl'"
|
21
21
|
|
22
22
|
def extract(source_dir, outdir)
|
@@ -21,10 +21,11 @@ module Relaton
|
|
21
21
|
|
22
22
|
# Extract files
|
23
23
|
#
|
24
|
-
# This interface expect us to provide a source directory,
|
25
|
-
# directory and custom configuration options. Then it wll
|
26
|
-
# Relaton XML files to output directory from the
|
27
|
-
# During this process it will use custom
|
24
|
+
# This interface expect us to provide a source file / directory,
|
25
|
+
# output directory and custom configuration options. Then it wll
|
26
|
+
# extract Relaton XML file / files to output directory from the
|
27
|
+
# source file / directory. During this process it will use custom
|
28
|
+
# options when available.
|
28
29
|
#
|
29
30
|
# @param source [Dir] The source directory for files
|
30
31
|
# @param outdir [Dir] The output directory for files
|
@@ -71,8 +72,16 @@ module Relaton
|
|
71
72
|
Nokogiri.XML(document)
|
72
73
|
end
|
73
74
|
|
75
|
+
def select_source_files
|
76
|
+
if File.file?(source)
|
77
|
+
[source]
|
78
|
+
else
|
79
|
+
select_files_with("xml")
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
74
83
|
def extract_and_write_to_files
|
75
|
-
|
84
|
+
select_source_files.each do |file|
|
76
85
|
xml = nokogiri_document(nil, file)
|
77
86
|
xml.remove_namespaces!
|
78
87
|
|
data/lib/relaton/cli/version.rb
CHANGED
data/relaton-cli.gemspec
CHANGED
@@ -15,16 +15,16 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.license = "BSD-2-Clause"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
|
-
f.match(%r{^(test|spec|features)/})
|
18
|
+
f.match(%r{^(test|spec|features|docs)/})
|
19
19
|
end
|
20
|
-
spec.extra_rdoc_files = %w[README.adoc LICENSE]
|
20
|
+
spec.extra_rdoc_files = %w[docs/README.adoc LICENSE]
|
21
21
|
spec.bindir = "exe"
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
|
25
25
|
spec.required_ruby_version = ">= 2.3.0"
|
26
26
|
|
27
|
-
spec.add_development_dependency "bundler", "~> 1
|
27
|
+
spec.add_development_dependency "bundler", "~> 2.0.1"
|
28
28
|
spec.add_development_dependency "rake", "~> 12.0"
|
29
29
|
spec.add_development_dependency "rspec", "~> 3.0"
|
30
30
|
spec.add_development_dependency "byebug", "~> 10.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.0.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,7 +171,7 @@ executables:
|
|
171
171
|
- relaton
|
172
172
|
extensions: []
|
173
173
|
extra_rdoc_files:
|
174
|
-
- README.adoc
|
174
|
+
- docs/README.adoc
|
175
175
|
- LICENSE
|
176
176
|
files:
|
177
177
|
- ".gitignore"
|
@@ -181,9 +181,9 @@ files:
|
|
181
181
|
- Gemfile
|
182
182
|
- Gemfile.lock
|
183
183
|
- LICENSE
|
184
|
-
- README.adoc
|
185
184
|
- Rakefile
|
186
185
|
- bin/rspec
|
186
|
+
- docs/README.adoc
|
187
187
|
- exe/relaton
|
188
188
|
- i18n.yaml
|
189
189
|
- lib/relaton/bibcollection.rb
|