relaton-cli 1.8.2 → 1.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/README.adoc +35 -11
- data/lib/relaton/cli/command.rb +25 -16
- data/lib/relaton/cli/data_fetcher.rb +15 -0
- data/lib/relaton/cli/version.rb +1 -1
- data/relaton-cli.gemspec +2 -2
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bae2b8248683a44779dd5aa26bebb771457a250ed4cd7ed593622505e6f0e62
|
4
|
+
data.tar.gz: 7bd70875874902cea3dd3c0b2098dc8d1f4b48583b07ada0e014a2e3f04f2aac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c87d54b87fe81b7950b7977c31bd35e29fcb297d456575f654ba8485dee0b36afdad9e304d92c4c64cb2a0abedb982e6c93a05f102e4356e50a983aa01985d33
|
7
|
+
data.tar.gz: a501917c8cfa0772a18a12742acde2efe4195f56019fd4b524fd9bf718dc65a8083c4682be3aa1fa9ff22fec8753e926eefa0585da3b09037a24e0f89b1647e3
|
data/docs/README.adoc
CHANGED
@@ -54,6 +54,30 @@ Fetch the Relaton XML entry corresponding to the document identifier `CODE`.
|
|
54
54
|
* `--all-parts` fetch all parts.
|
55
55
|
* `--keep-year` undated reference should return actual reference with year.
|
56
56
|
|
57
|
+
=== relaton fetch-data
|
58
|
+
|
59
|
+
[source,console]
|
60
|
+
----
|
61
|
+
$ relaton fetch-data DATASET -o DIR -f FORMAT
|
62
|
+
----
|
63
|
+
|
64
|
+
Fetch all the documents from a `DATASET` source and save them to a folder `DIR` in format `FORMAT`.
|
65
|
+
|
66
|
+
Foloowing datasets are availabe:
|
67
|
+
|
68
|
+
* `nist-tech-pubs` - https://raw.githubusercontent.com/usnistgov/NIST-Tech-Pubs/nist-pages/xml/allrecords.xml
|
69
|
+
* `cie-techstreet` - https://www.techstreet.com/cie/searches/31156444
|
70
|
+
* `calconnect-org` - https://standards.calconnect.org/relaton/index.yaml
|
71
|
+
* `ogc-naming-authority` - https://raw.githubusercontent.com/opengeospatial/NamingAuthority/master/incubation/bibliography/bibliography.json
|
72
|
+
* `ieee-rawbib` - looks for the IEEE dataset in local `./ieee-rawbib` directory. The dataset could be downloaded from https://github.com/ietf-ribose/ieee-rawbib repository
|
73
|
+
* `w3c-rdf` - http://www.w3.org/2002/01/tr-automation/tr.rdf
|
74
|
+
* `iana-registries` - https://github.com/ietf-ribose/iana-registries
|
75
|
+
|
76
|
+
Options:
|
77
|
+
|
78
|
+
* `DIR` - floder name to store documents (default `./data`).
|
79
|
+
* `FORMAT` - format in which the documents are saved. Possimle formats are: `yaml`, `xml`, `bibxml` (default `yaml`).
|
80
|
+
|
57
81
|
=== relaton extract
|
58
82
|
|
59
83
|
[source,console]
|
@@ -310,38 +334,38 @@ Import document or collection from XML `FILE` into `COLLECTION`.
|
|
310
334
|
* `COLLECTION` is optional. If collection doesn't exist then it will be created.
|
311
335
|
* `DIRECTORY` is optional, and specifies path to a directory with collections. Default is `$HOME/.relaton/collections`.
|
312
336
|
|
313
|
-
===
|
337
|
+
=== Dadabase manipulation
|
314
338
|
|
315
|
-
==== Create
|
339
|
+
==== Create database
|
316
340
|
|
317
341
|
----
|
318
342
|
$ relaton db create DIR
|
319
343
|
----
|
320
344
|
|
321
|
-
Creates a new
|
345
|
+
Creates a new database in a directory `DIR` (optional, deafult is `/home/USER/.relaton/dbpath`). In case the target directory exists it will be used as a database.
|
322
346
|
|
323
347
|
----
|
324
348
|
$ relaton db create
|
325
|
-
|
349
|
+
Database is in "/Users/user/.relaton/cache"
|
326
350
|
|
327
351
|
$ relaton db create cachedb
|
328
|
-
|
352
|
+
Database is in "/Users/user/RubyProjects/relaton-cli/cachedb"
|
329
353
|
----
|
330
354
|
|
331
|
-
==== Move
|
355
|
+
==== Move database
|
332
356
|
|
333
357
|
----
|
334
358
|
$ relaton db mv DIR
|
335
359
|
----
|
336
360
|
|
337
|
-
Move
|
361
|
+
Move database to another place `DIR`.
|
338
362
|
|
339
363
|
----
|
340
364
|
$ relaton db mv cache_dir
|
341
|
-
|
365
|
+
Database is moved to "/Users/user/RubyProjects/relaton-cli/cache_dir"
|
342
366
|
----
|
343
367
|
|
344
|
-
==== Clear
|
368
|
+
==== Clear database
|
345
369
|
|
346
370
|
Delete all entries from a chache DB.
|
347
371
|
|
@@ -349,13 +373,13 @@ Delete all entries from a chache DB.
|
|
349
373
|
$ relaton db clear
|
350
374
|
----
|
351
375
|
|
352
|
-
==== Fetch from
|
376
|
+
==== Fetch from database
|
353
377
|
|
354
378
|
----
|
355
379
|
$ relaton db fetch -t TYPE -f FORMAT -y YEAR
|
356
380
|
----
|
357
381
|
|
358
|
-
Fetch an entry from a
|
382
|
+
Fetch an entry from a database. See [relaton fetch](#relaton-fetch) for the arguments explanation.
|
359
383
|
|
360
384
|
==== Fetch all
|
361
385
|
|
data/lib/relaton/cli/command.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "relaton/cli/relaton_file"
|
2
2
|
require "relaton/cli/xml_convertor"
|
3
3
|
require "relaton/cli/yaml_convertor"
|
4
|
+
require "relaton/cli/data_fetcher"
|
4
5
|
require "relaton/cli/subcommand_collection"
|
5
6
|
require "relaton/cli/subcommand_db"
|
6
7
|
require "fcntl"
|
@@ -14,14 +15,14 @@ module Relaton
|
|
14
15
|
|
15
16
|
desc "fetch CODE", "Fetch Relaton XML for Standard identifier CODE"
|
16
17
|
option :type, aliases: :t, desc: "Type of standard to "\
|
17
|
-
|
18
|
+
"get bibliographic entry for"
|
18
19
|
option :format, aliases: :f, desc: "Output format (xml, yaml, bibtex). "\
|
19
|
-
|
20
|
+
"Default xml."
|
20
21
|
option :year, aliases: :y, type: :numeric, desc: "Year the standard was "\
|
21
|
-
|
22
|
+
"published"
|
22
23
|
option :"all-parts", type: :boolean, desc: "Fetch all parts"
|
23
24
|
option :"keep-year", type: :boolean, desc: "Undated reference should "\
|
24
|
-
|
25
|
+
"return actual reference with year"
|
25
26
|
option :retries, aliases: :r, type: :numeric, desc: "Number of network "\
|
26
27
|
"retries. Default 1."
|
27
28
|
|
@@ -43,7 +44,7 @@ module Relaton
|
|
43
44
|
"DIRECTORY (containing Relaton-XML or YAML) into a Relaton Collection"
|
44
45
|
option :title, aliases: :t, desc: "Title of resulting Relaton collection"
|
45
46
|
option :organization, aliases: :g, desc: "Organization owner of Relaton "\
|
46
|
-
|
47
|
+
"collection"
|
47
48
|
option :extension, aliases: :x, desc: "File extension of destination "\
|
48
49
|
"Relaton file, defaults to 'rxl'"
|
49
50
|
|
@@ -61,15 +62,15 @@ module Relaton
|
|
61
62
|
end
|
62
63
|
|
63
64
|
desc "yaml2xml YAML", "Convert Relaton YAML into Relaton Collection XML "\
|
64
|
-
|
65
|
+
"or separate files"
|
65
66
|
option :extension, aliases: :x, default: "rxl", desc: "File extension "\
|
66
67
|
"of Relaton XML files, defaults to 'rxl'"
|
67
68
|
option :prefix, aliases: :p, desc: "Filename prefix of individual "\
|
68
|
-
|
69
|
+
"Relaton XML files, defaults to empty"
|
69
70
|
option :outdir, aliases: :o, desc: "Output to the specified directory "\
|
70
71
|
"with individual Relaton Bibdata XML files"
|
71
72
|
option :require, aliases: :r, type: :array, desc: "Require LIBRARY "\
|
72
|
-
|
73
|
+
"prior to execution"
|
73
74
|
option :overwrite, aliases: :f, type: :boolean, default: false,
|
74
75
|
desc: "Overwrite the existing file"
|
75
76
|
|
@@ -78,15 +79,15 @@ module Relaton
|
|
78
79
|
end
|
79
80
|
|
80
81
|
desc "xml2yaml XML", "Convert Relaton XML into Relaton Bibdata / "\
|
81
|
-
|
82
|
+
"Bibcollection YAML (and separate files)"
|
82
83
|
option :extension, aliases: :x, default: "yaml", desc: "File extension "\
|
83
84
|
"of Relaton YAML files, defaults to 'yaml'"
|
84
85
|
option :prefix, aliases: :p, desc: "Filename prefix of Relaton XML "\
|
85
|
-
|
86
|
+
"files, defaults to empty"
|
86
87
|
option :outdir, aliases: :o, desc: "Output to the specified directory "\
|
87
|
-
|
88
|
+
"with individual Relaton Bibdata YAML files"
|
88
89
|
option :require, aliases: :r, type: :array, desc: "Require LIBRARY "\
|
89
|
-
|
90
|
+
"prior to execution"
|
90
91
|
option :overwrite, aliases: :f, type: :boolean, default: false,
|
91
92
|
desc: "Overwrite the existing file"
|
92
93
|
|
@@ -95,9 +96,9 @@ module Relaton
|
|
95
96
|
end
|
96
97
|
|
97
98
|
desc "xml2html RELATON-INDEX-XML", "Convert Relaton Collection XML into "\
|
98
|
-
|
99
|
+
"HTML"
|
99
100
|
option :stylesheet, aliases: :s, desc: "Stylesheet file path for "\
|
100
|
-
|
101
|
+
"rendering HTML index"
|
101
102
|
option :templatedir, aliases: :t, desc: "Liquid template directory for "\
|
102
103
|
"rendering Relaton items and collection"
|
103
104
|
option :overwrite, aliases: :f, type: :boolean, default: false,
|
@@ -108,9 +109,9 @@ module Relaton
|
|
108
109
|
end
|
109
110
|
|
110
111
|
desc "yaml2html RELATON-INDEX-YAML", "Concatenate Relaton Collection "\
|
111
|
-
|
112
|
+
"YAML into HTML"
|
112
113
|
option :stylesheet, aliases: :s, desc: "Stylesheet file path for "\
|
113
|
-
|
114
|
+
"rendering HTML index"
|
114
115
|
option :templatedir, aliases: :t, desc: "Liquid template directory for "\
|
115
116
|
"rendering Relaton items and collection"
|
116
117
|
option :overwrite, aliases: :f, type: :boolean, default: false,
|
@@ -141,6 +142,14 @@ module Relaton
|
|
141
142
|
File.write output, result, encoding: "UTF-8"
|
142
143
|
end
|
143
144
|
|
145
|
+
desc "fetch-data SOURCE", "Fetch all the documents from a source"
|
146
|
+
option :output, aliases: :o, desc: "Output dir. Default: ./data/"
|
147
|
+
option :format, aliases: :f, desc: "Output format (yaml, xml, bibxml). Default: yaml"
|
148
|
+
|
149
|
+
def fetch_data(source)
|
150
|
+
DataFetcher.fetch source, options
|
151
|
+
end
|
152
|
+
|
144
153
|
desc "collection SUBCOMMAND", "Collection manipulations"
|
145
154
|
subcommand "collection", SubcommandCollection
|
146
155
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Relaton
|
2
|
+
module Cli
|
3
|
+
module DataFetcher
|
4
|
+
def fetch(source, options)
|
5
|
+
processor = Relaton::Registry.instance.find_processor_by_dataset source
|
6
|
+
opts = {}
|
7
|
+
opts[:output] = options[:output] if options[:output]
|
8
|
+
opts[:format] = options[:format] if options[:format]
|
9
|
+
processor.fetch_data source, opts
|
10
|
+
end
|
11
|
+
|
12
|
+
extend DataFetcher
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/relaton/cli/version.rb
CHANGED
data/relaton-cli.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.bindir = "exe"
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
|
-
spec.required_ruby_version = ">= 2.
|
23
|
+
spec.required_ruby_version = ">= 2.5.0"
|
24
24
|
|
25
25
|
spec.add_development_dependency "byebug", "~> 11.0"
|
26
26
|
# spec.add_development_dependency "debase"
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.add_development_dependency "webmock"
|
37
37
|
|
38
38
|
spec.add_runtime_dependency "liquid", "~> 4"
|
39
|
-
spec.add_runtime_dependency "relaton", ">=1.
|
39
|
+
spec.add_runtime_dependency "relaton", ">= 1.9.1"
|
40
40
|
spec.add_runtime_dependency "thor"
|
41
41
|
spec.add_runtime_dependency "thor-hollaback"
|
42
42
|
end
|
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: 1.
|
4
|
+
version: 1.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|
@@ -170,14 +170,14 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 1.
|
173
|
+
version: 1.9.1
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 1.
|
180
|
+
version: 1.9.1
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: thor
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -237,6 +237,7 @@ files:
|
|
237
237
|
- lib/relaton/cli.rb
|
238
238
|
- lib/relaton/cli/base_convertor.rb
|
239
239
|
- lib/relaton/cli/command.rb
|
240
|
+
- lib/relaton/cli/data_fetcher.rb
|
240
241
|
- lib/relaton/cli/full_text_search.rb
|
241
242
|
- lib/relaton/cli/relaton_file.rb
|
242
243
|
- lib/relaton/cli/subcommand_collection.rb
|
@@ -262,7 +263,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
262
263
|
requirements:
|
263
264
|
- - ">="
|
264
265
|
- !ruby/object:Gem::Version
|
265
|
-
version: 2.
|
266
|
+
version: 2.5.0
|
266
267
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
267
268
|
requirements:
|
268
269
|
- - ">="
|