Commit dbd47fe3 authored by Matěj Cepl's avatar Matěj Cepl

Make the package compatible with python 2.7

There is actually unittest module now, so we have to work for the
possibility that unittest2 is not available.

Fixes #49.
parent d7b122f1
YAMLish is a small subset of YAML that TAP producers may use to embed machine readable
information in TAP diagnostics. See TAP diagnostic syntax for information about how
YAMLish embeds in TAP.
YAMLish is a small subset of YAML that TAP producers may use to
embed machine readable information in TAP diagnostics. See TAP
diagnostic syntax for information about how YAMLish embeds in
TAP.
----------------------------
Based on Data-YAML version 0.0.6 (Copyright (C) 2007, Andy Armstrong), but it
is so thoroughly rewritten that I don't consider it derived work and I don't
feel the need to resolve what "This library is free software; you can
redistribute it and/or modify it under the same terms as Perl itself." actually
means.
Based on Data-YAML version 0.0.6
(Copyright (C) 2007, Andy Armstrong)
but it is so thoroughly rewritten that I don't consider it
derived work and I don't feel the need to resolve what "This
library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself." actually means.
Whole this package is licensed under MIT/X11 license (see header of yamlish.py
for details).
Whole this package is licensed under MIT/X11 license (see header
of yamlish.py for details).
# coding: utf-8
from __future__ import absolute_import, print_function, unicode_literals
from __future__ import absolute_import, print_function
from distutils.core import setup, Command
import unittest2 as unittest
import sys
requires_list = [
"PyYAML (>=3.09)"
]
try:
import unittest2 as unittest
except ImportError:
import unittest
else:
if sys.version_info <= (2 , 6):
requires_list.append("unittest2")
import os.path
import yamlish
......@@ -51,8 +61,5 @@ setup(
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing :: Markup",
],
requires=[
"PyYAML (>=3.09)",
"unittest2"
],
requires=requires_list
)
......@@ -2,7 +2,10 @@
from __future__ import absolute_import, print_function, unicode_literals
import logging
import yamlish
import unittest2 as unittest
try:
import unittest2 as unittest
except ImportError:
import unittest
import yaml
import tempfile
import textwrap
......
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
import test
import unittest2 as unittest
try:
import unittest2 as unittest
except ImportError:
import unittest
import yamlish
test_data_list = [
......
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
import unittest2 as unittest
try:
import unittest2 as unittest
except ImportError:
import unittest
class TestBasics(unittest.TestCase):
def test_import(self):
......
......@@ -5,7 +5,10 @@ Test general output functionality.
Without much stress on the format itself.
"""
from __future__ import absolute_import, print_function, unicode_literals
import unittest2 as unittest
try:
import unittest2 as unittest
except ImportError:
import unittest
import yamlish
import yaml
import logging
......
......@@ -3,7 +3,10 @@ from __future__ import absolute_import, print_function, unicode_literals
import yaml
import yamlish
import test
import unittest2 as unittest
try:
import unittest2 as unittest
except ImportError:
import unittest
test_data_list = [
{
......
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
import unittest2 as unittest
try:
import unittest2 as unittest
except ImportError:
import unittest
import test
import yamlish
......
......@@ -113,8 +113,8 @@ import logging
import yaml
__docformat__ = 'reStructuredText'
__version__ = "0.7"
__author__ = "Matej Cepl <mcepl_at_redhat_dot_com>"
__version__ = "0.9"
__author__ = u"Matěj Cepl <mcepl_at_redhat_dot_com>"
class _YamlishLoader(yaml.loader.SafeLoader):
"""
......@@ -149,12 +149,15 @@ def str_representer_compact_multiline(dumper, data):
style = None
if '\n' in data:
style = '|'
data = data.decode('utf-8') # assumes all your strings are UTF-8 encoded
if isinstance(data, str):
data = data.decode('utf-8') # assumes all your strings are UTF-8 encoded
tag = u'tag:yaml.org,2002:str'
return dumper.represent_scalar(tag, data, style)
yaml.add_representer(str, str_representer_compact_multiline,
Dumper=_YamlishDumper)
yaml.add_representer(unicode, str_representer_compact_multiline,
Dumper=_YamlishDumper)
def load(source):
"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment