metanorma-cli 1.3.0 → 1.3.1

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: 727c9f20d6b9320c6a5c160cd909d418f7930e7610a26ffd21a84060da52ab0d
4
- data.tar.gz: f2c7ebaf6858dbc5431e92d08b345fbdf31e498f9b8c57b5af929aa7dafa22a4
3
+ metadata.gz: 370299374d6064f4be2b1bce3ffe74d816a3221a197e85189e2d076173f4d843
4
+ data.tar.gz: 2a1a633b009ec2e34c809405d7d07f747a598f7a6eaa5d9d7be772d7a53811c0
5
5
  SHA512:
6
- metadata.gz: e8d353085709cbb6bc0cefa595d8e8de8ad583164da05bbe44c832b810e43f5844f28235bce566f4cfb6fd6542252c3ab6a436763db63719eac2f1a82dcc7419
7
- data.tar.gz: 4edc7b2ec475ca042b199bccfcdf0eafa1b5a5e054c91e9f97c93ab8cf71b11774c9cf468c79e609371392bdea62c840365a5ca2d7aecd68593405c8b5691611
6
+ metadata.gz: 503038584c4e2e3e869c00225439da73b93427f95a8f3ec3fe93b22c58c703483a4a980be0ae4cd2d9c97aa954db335b5762bc28d82ab9534d8e214894e95f75
7
+ data.tar.gz: bf08778ca3688e38f8df865daf162a02b008530faf2dfb14294609c6d1f329631df721e22b6b220c636aed6084b400bcd6c668dab4616a9a092f5ee7abf9832b
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metanorma-cli (1.3.0)
5
- fontist (~> 0.2.0)
4
+ metanorma-cli (1.3.1)
5
+ fontist (~> 1.0.0)
6
6
  git (~> 1.5)
7
7
  isodoc (~> 1.1.0)
8
8
  metanorma (~> 1.1.0)
@@ -51,9 +51,10 @@ GEM
51
51
  ffi-compiler2 (2.0.0)
52
52
  ffi (>= 1.0.0)
53
53
  rake
54
- fontist (0.2.0)
54
+ fontist (1.0.0)
55
55
  down (~> 5.0)
56
56
  libmspack (~> 0.1.0)
57
+ rubyzip (~> 2.3.0)
57
58
  gb-agencies (0.0.6)
58
59
  git (1.7.0)
59
60
  rchardet (~> 1.8)
@@ -267,7 +268,7 @@ GEM
267
268
  relaton-iso-bib (~> 1.2.0)
268
269
  relaton-omg (1.2.0)
269
270
  relaton-bib (~> 1.2.0)
270
- relaton-un (1.2.0)
271
+ relaton-un (1.2.1)
271
272
  faraday
272
273
  http-cookie
273
274
  relaton-bib (~> 1.2.0)
@@ -22,19 +22,6 @@ module Metanorma
22
22
  "metanorma-itu",
23
23
  ]
24
24
 
25
- # @TODO: Note
26
- #
27
- # This is temporary, we are going to extend this to
28
- # each of the metanorma gem, so they can specifcy their
29
- # own font requirements.
30
- #
31
- # Please add the whole set here.
32
- #
33
- REQUIRED_FONTS = [
34
- "CALIBRI.TTF",
35
- "CAMBRIA.TTC",
36
- ].freeze
37
-
38
25
  PRIVATE_SUPPORTED_GEMS = ["metanorma-ribose", "metanorma-mpfa"]
39
26
 
40
27
  def self.load_flavors(flavor_names = SUPPORTED_GEMS + PRIVATE_SUPPORTED_GEMS)
@@ -78,11 +78,15 @@ module Metanorma
78
78
  )
79
79
 
80
80
  def setup
81
- Metanorma::Cli::REQUIRED_FONTS.each do |font|
82
- Metanorma::Cli::Setup.run(
83
- font: font,
84
- term_agreement: options[:agree_to_terms],
85
- )
81
+ list_required_fonts.each do |font|
82
+ begin
83
+ Metanorma::Cli::Setup.run(
84
+ font: font,
85
+ term_agreement: options[:agree_to_terms],
86
+ )
87
+ rescue Fontist::Errors::NonSupportedFontError
88
+ UI.say("[info]: Font `#{font}` is not supported yet!")
89
+ end
86
90
  end
87
91
  end
88
92
 
@@ -143,6 +147,19 @@ module Metanorma
143
147
  overwrite: options[:overwrite],
144
148
  )
145
149
  end
150
+
151
+ def list_required_fonts
152
+ Metanorma::Cli.load_flavors
153
+
154
+ Metanorma::Registry.instance.processors.map do |_key, processor|
155
+ flavour = processor.class.to_s.gsub("::Processor", "")
156
+ flavour_module = Object.const_get(flavour)
157
+
158
+ if flavour_module.respond_to?(:fonts_used)
159
+ flavour_module.fonts_used.map { |_, value| value }.flatten
160
+ end
161
+ end.compact.flatten.uniq
162
+ end
146
163
  end
147
164
  end
148
165
  end
@@ -40,9 +40,11 @@ module Metanorma
40
40
  end
41
41
 
42
42
  def download_font
43
- Fontist::Finder.find(font_name)
44
- rescue Fontist::Errors::MissingFontError
45
- ask_user_and_download_font(font_name)
43
+ begin
44
+ Fontist::Font.find(font_name)
45
+ rescue Fontist::Errors::MissingFontError
46
+ ask_user_and_download_font(font_name)
47
+ end
46
48
  end
47
49
 
48
50
  def copy_to_fonts(fonts_path)
@@ -54,23 +56,30 @@ module Metanorma
54
56
 
55
57
  def ask_user_and_download_font(font_name)
56
58
  response = term_agreement ? "yes" : "no"
59
+ formula = Fontist::Formula.find(font_name)
57
60
 
58
61
  if !term_agreement
59
- response = UI.ask(message.strip)
62
+ response = UI.ask(message(formula.license).strip)
60
63
  end
61
64
 
62
65
  if response.downcase === "yes"
63
- Fontist::Installer.download(font_name, confirmation: response)
66
+ Fontist::Font.install(font_name, confirmation: response)
64
67
  end
65
68
  end
66
69
 
67
- def message
70
+ def message(license)
68
71
  <<~MSG
69
72
  Metanorma has detected that you do not have the necessary fonts installed
70
73
  for PDF generation. The generated PDF will use generic fonts that may not
71
74
  resemble the desired styling. Metanorma can download these files for you
72
75
  if you accept the font licensing conditions for the font #{font_name}.
73
76
 
77
+ ----------
78
+
79
+ #{license}
80
+
81
+ ----------
82
+
74
83
  If you want Metanorma to download these fonts for you and indicate your
75
84
  acceptance of the font licenses, type "Yes" / "No":
76
85
  MSG
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cli
3
- VERSION = "1.3.0"
3
+ VERSION = "1.3.1"
4
4
  end
5
5
  end
@@ -53,5 +53,5 @@ Gem::Specification.new do |spec|
53
53
  #spec.add_runtime_dependency 'nokogiri', ">= 1"
54
54
  spec.add_runtime_dependency "git", "~> 1.5"
55
55
  spec.add_runtime_dependency "relaton-cli", ">= 0.8.2"
56
- spec.add_runtime_dependency "fontist", "~> 0.2.0"
56
+ spec.add_runtime_dependency "fontist", "~> 1.0.0"
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-26 00:00:00.000000000 Z
11
+ date: 2020-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -380,14 +380,14 @@ dependencies:
380
380
  requirements:
381
381
  - - "~>"
382
382
  - !ruby/object:Gem::Version
383
- version: 0.2.0
383
+ version: 1.0.0
384
384
  type: :runtime
385
385
  prerelease: false
386
386
  version_requirements: !ruby/object:Gem::Requirement
387
387
  requirements:
388
388
  - - "~>"
389
389
  - !ruby/object:Gem::Version
390
- version: 0.2.0
390
+ version: 1.0.0
391
391
  description: Executable to process any Metanorma standard.
392
392
  email:
393
393
  - open.source@ribose.com