stepmod-utils 0.6.3 → 0.6.5

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: 10c93752f86abb0c914b9041affef80fdedec72e4ccac9a53b382735013230cb
4
- data.tar.gz: 94f588ae4c287ac44910212b00c298542855999eea610e9e84274f338d825fc8
3
+ metadata.gz: 17f10378d866d0d9f21341181a3c49fd9fc20c791acc86043bed786df886d9c7
4
+ data.tar.gz: 10bc583e2f40b9331cf6eb2f17d762ed1e4c99286f03764c8678b5160d35a00d
5
5
  SHA512:
6
- metadata.gz: b59490db126c0b56b96cb295a68d9e226049a85006083d141580e10545db0ae56e93250a069cc607485ddc46c47d466e6da4af7295d3d27fce4a63bbd94a4370
7
- data.tar.gz: b04a75dfdcfd88c9a20be4a499c7785990efbc6c91632f5635cbbe79b4c8582d1c6e6681a34b189d00255f0d32013a7fe9fcdb37cfbc71155ee2da3e0c575275
6
+ metadata.gz: 40e340a93b7f95d56c3c1754ee1725dc0267c6a62d9a1f5838c39fd22ddc9e834e1d4a6c41c1598f791aaf50cbb03c265f1031650f61a1ba21b01ae6a728d3b5
7
+ data.tar.gz: f3f564dea2531731ebeea9c1dbe23e9b8597fe6400efa70b17888ff771edea063c35d5de94c4eedf8fe6968b8ed1f52d564b15b4f0b1e1900d270695ed8e43bb
@@ -37,6 +37,10 @@ def copy_files_to_document(path, stepmod_path, srl_output_docs_dir)
37
37
  file_name = path.basename
38
38
  module_xml_path = path.dirname.join("module.xml")
39
39
  # puts "module_xml_path #{module_xml_path}"
40
+ unless File.exist?(module_xml_path)
41
+ puts "[ERROR] Attempting to copy but does not exist: #{module_xml_path}"
42
+ return
43
+ end
40
44
  module_xml = Nokogiri::XML(IO.read(module_xml_path)).root
41
45
 
42
46
  part_number = module_xml.xpath("//module").first.attr("part")
@@ -175,11 +175,11 @@ collection)
175
175
  deletion_nodes = schema_changes&.xpath("#{node_type}.deletions") || []
176
176
 
177
177
  {
178
- version: options[:version],
179
- description: options[:description],
180
- additions: extract_modified_objects(addition_nodes),
181
- modifications: extract_modified_objects(modification_nodes),
182
- deletions: extract_modified_objects(deletion_nodes),
178
+ "version" => options[:version],
179
+ "description" => options[:description] || converted_description(schema_changes.xpath("description").first),
180
+ "additions" => extract_modified_objects(addition_nodes),
181
+ "modifications" => extract_modified_objects(modification_nodes),
182
+ "deletions" => extract_modified_objects(deletion_nodes),
183
183
  }
184
184
  end
185
185
  # rubocop:enable Metrics/MethodLength
@@ -188,10 +188,10 @@ collection)
188
188
  nodes.map do |node|
189
189
  node.xpath("modified.object").map do |object|
190
190
  {
191
- type: object.attr("type"),
192
- name: object.attr("name"),
193
- description: converted_description(object.at("description")),
194
- interfaced_items: object.attr("interfaced.items"),
191
+ "type" => object.attr("type"),
192
+ "name" => object.attr("name"),
193
+ "description" => converted_description(object.at("description")),
194
+ "interfaced_items" => object.attr("interfaced.items"),
195
195
  }.compact
196
196
  end
197
197
  end.flatten
@@ -29,17 +29,21 @@ module Stepmod
29
29
  ====
30
30
  image::#{svg_filename}.svg[]
31
31
 
32
- #{image_document.xpath('//img.area').map.with_index(1) { |n, i| schema_reference(n['href'], i) }.join("\n")}
32
+ #{image_document.xpath("//img.area").map.with_index(1) { |n, i| schema_reference(n["href"], i) }.join("\n")}
33
33
  ====
34
34
  SVGMAP
35
35
  end
36
36
 
37
37
  def schema_reference(xml_path, index)
38
- if /#/.match?(xml_path)
38
+ if xml_path.include?("#")
39
39
  _, express_path_part = xml_path.split("#")
40
- "* <<express:#{express_path_part.strip}>>; #{index}"
40
+ return "* <<express:#{express_path_part.strip}>>; #{index}"
41
+ end
42
+
43
+ schema_name = File.basename(xml_path, ".*")
44
+ if schema_name.include?("expg")
45
+ "* <<#{schema_name.strip}>>; #{index}"
41
46
  else
42
- schema_name = File.basename(xml_path, ".*")
43
47
  "* <<express:#{schema_name.strip}>>; #{index}"
44
48
  end
45
49
  end
@@ -43,7 +43,7 @@ module Stepmod
43
43
  end
44
44
  end
45
45
 
46
- SCHEMA_VERSION_MATCH_REGEX = /^SCHEMA [0-9a-zA-Z_]+;\s*$/
46
+ SCHEMA_VERSION_MATCH_REGEX = /^[[:space:]]*?SCHEMA [0-9a-zA-Z_]+;(?<trailing>.*)[[:space:]]*$/
47
47
  def is_missing_version(schema_content)
48
48
  m = schema_content.match(SCHEMA_VERSION_MATCH_REGEX)
49
49
  if m.nil?
@@ -55,6 +55,16 @@ module Stepmod
55
55
  end
56
56
  end
57
57
 
58
+ def replace_schema_string_with_version(content)
59
+ m = content.match(SCHEMA_VERSION_MATCH_REGEX)
60
+ result = build_schema_string_with_version
61
+ unless m['trailing'].nil?
62
+ result = "#{result}#{m['trailing']}"
63
+ end
64
+
65
+ content.gsub!(SCHEMA_VERSION_MATCH_REGEX, result)
66
+ end
67
+
58
68
  def build_schema_string_with_version
59
69
  # Geometric_tolerance_arm => geometric-tolarance-arm
60
70
  name_in_asn1 = @schema_name.downcase.gsub("_", "-")
@@ -80,7 +90,7 @@ module Stepmod
80
90
  edition = @identifier.edition
81
91
  schema_or_object = (schema_type == :module) ? "schema" : "object"
82
92
 
83
- "SCHEMA #{@schema_name} '{ " \
93
+ "\nSCHEMA #{@schema_name} '{ " \
84
94
  "iso standard 10303 part(#{part}) " \
85
95
  "version(#{edition}) " \
86
96
  "#{schema_or_object}(1) " \
@@ -186,10 +196,7 @@ module Stepmod
186
196
  puts "[annotator-WARNING] schema (#{@schema_name}) missing version string. "\
187
197
  "Adding: `#{build_schema_string_with_version}` to schema."
188
198
 
189
- output_express.gsub!(
190
- SCHEMA_VERSION_MATCH_REGEX,
191
- build_schema_string_with_version
192
- )
199
+ output_express = replace_schema_string_with_version(output_express)
193
200
  end
194
201
 
195
202
  {
@@ -1,5 +1,5 @@
1
1
  module Stepmod
2
2
  module Utils
3
- VERSION = "0.6.3".freeze
3
+ VERSION = "0.6.5".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stepmod-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-02 00:00:00.000000000 Z
11
+ date: 2024-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby