Skip to content

Commit

Permalink
CHAM-572 Init investigation
Browse files Browse the repository at this point in the history
  • Loading branch information
karampitsos committed Aug 31, 2023
1 parent 990d6d6 commit 8643af0
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 5 deletions.
4 changes: 3 additions & 1 deletion openformats/formats/yaml/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,8 @@ def construct_mapping(self, node, deep=True):
and self._is_custom_tag(value_node.tag)
):
tag = six.text_type(value_node.tag)
# remove the exclamation mark from the tag
tag = tag[1:] if tag.startswith('!') else tag

value = Node(value, start, end, style, tag)
pairs.append((key, value))
Expand Down Expand Up @@ -350,7 +352,7 @@ def generate_yaml_dict(self, stringset):
)
else:
self._insert_translation_in_dict(
yaml_dict, keys, flags, se.string, tag=se.context,
yaml_dict, keys, flags, se.string, tag='!'+se.context if se.context else se.context,
)
return yaml_dict

Expand Down
3 changes: 2 additions & 1 deletion openformats/formats/yaml/yaml.py
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,8 @@ def _compile_from_template(self, template, stringset, **kwargs):
# it and apply a space afterwards so it doesn't get merged with the
# string
if string.context:
transcriber.add(string.context)
# add an exclamation mark to the context to make it a tag
transcriber.add('!'+string.context)
transcriber.add(' ')
transcriber.add(translation)
transcriber.skip(len(string.template_replacement))
Expand Down
4 changes: 2 additions & 2 deletions openformats/tests/formats/yaml/files/1_tpl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ alias_key:
- ddc3cfcedcf1686d9e3ba6b99a0d091b_tr

# Custom tags
foo: 3e4000f6f4cd8bb27db6fb82e1b50bb4_tr # Should treat as string and ignore leading spaces
bar: 75ce597a505a4faf6369b66b885926c8_tr # Also a string
foo: 023503fb466f78932b77209b6581156e_tr # Should treat as string and ignore leading spaces
bar: fac8140a2ec031af14bc758e73f59017_tr # Also a string
hello: b0ed9cf22c0a5186d1c5b483a910dd33_tr # Translatable
number: !!int 123 # Should ignore
bin: !!binary aGVsbG8= # Should ignore
Expand Down
2 changes: 1 addition & 1 deletion openformats/tests/formats/yaml/test_yaml.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ def test_openstring_attributes(self):
self.assertEqual(test_string.flags, '')

content_string = strings[1]
self.assertEqual(content_string.context, '!tag')
self.assertEqual(content_string.context, 'tag')
self.assertEqual(content_string.flags, "'")

def test_parse_duplicate_keys(self):
Expand Down

0 comments on commit 8643af0

Please sign in to comment.