Skip to content

Unicode chars are not supported #43

Description

@wenditer

If file which is read by shaper contains utf8 char, e.g. русский текст, it fails with following exception:

resolver.py:145: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  if value == u'':
Traceback (most recent call last):
  File "d:\env\python\python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "d:\env\python\python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "d:\Env\Python\Python27\Scripts\shaper.exe\__main__.py", line 9, in <module>
  File "d:\env\python\python27\lib\site-packages\shaper\cli.py", line 144, in main
    libs.parser.write(tree, arguments.out)
  File "d:\env\python\python27\lib\site-packages\shaper\libs\parser.py", line 102, in write
    parser_class().write(data, path)
  File "d:\env\python\python27\lib\site-packages\shaper\libs\parser.py", line 186, in write
    allow_unicode=True,
  File "d:\env\python\python27\lib\site-packages\yaml\__init__.py", line 202, in dump
    return dump_all([data], stream, Dumper=Dumper, **kwds)
  File "d:\env\python\python27\lib\site-packages\yaml\__init__.py", line 190, in dump_all
    dumper.represent(data)
  File "d:\env\python\python27\lib\site-packages\yaml\representer.py", line 29, in represent
    self.serialize(node)
  File "d:\env\python\python27\lib\site-packages\yaml\serializer.py", line 54, in serialize
    self.serialize_node(node, None, None)
  File "d:\env\python\python27\lib\site-packages\yaml\serializer.py", line 108, in serialize_node
    self.serialize_node(value, node, key)
  File "d:\env\python\python27\lib\site-packages\yaml\serializer.py", line 90, in serialize_node
    style=node.style))
  File "d:\env\python\python27\lib\site-packages\yaml\emitter.py", line 115, in emit
    self.state()
  File "d:\env\python\python27\lib\site-packages\yaml\emitter.py", line 413, in expect_block_mapping_simple_value
    self.expect_node(mapping=True)
  File "d:\env\python\python27\lib\site-packages\yaml\emitter.py", line 243, in expect_node
    self.process_tag()
  File "d:\env\python\python27\lib\site-packages\yaml\emitter.py", line 474, in process_tag
    self.style = self.choose_scalar_style()
  File "d:\env\python\python27\lib\site-packages\yaml\emitter.py", line 497, in choose_scalar_style
    self.analysis = self.analyze_scalar(self.event.value)
  File "d:\env\python\python27\lib\site-packages\yaml\emitter.py", line 653, in analyze_scalar
    if scalar.startswith(u'---') or scalar.startswith(u'...'):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 434: ordinal not in range(128)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions