unicode fixes
This commit is contained in:
parent
b08d385352
commit
76be97293f
|
@ -5,6 +5,8 @@ import time
|
|||
|
||||
import py
|
||||
|
||||
from .feature import force_unicode
|
||||
|
||||
|
||||
def pytest_addoption(parser):
|
||||
group = parser.getgroup('pytest-bdd')
|
||||
|
@ -53,7 +55,7 @@ class LogBDDCucumberJSON(object):
|
|||
elif report.failed and step['failed']:
|
||||
return {
|
||||
'status': 'failed',
|
||||
'error_message': unicode(report.longrepr),
|
||||
'error_message': force_unicode(report.longrepr),
|
||||
}
|
||||
elif report.skipped:
|
||||
return {'status': 'skipped'}
|
||||
|
|
|
@ -116,11 +116,19 @@ def _open_file(filename, encoding):
|
|||
return open(filename, 'r', encoding=encoding)
|
||||
|
||||
|
||||
def force_unicode(string, encoding='utf-8'):
|
||||
if sys.version_info < (3, 0) and isinstance(string, str):
|
||||
return string.decode(encoding)
|
||||
def force_unicode(obj, encoding='utf-8'):
|
||||
"""Get the unicode string out of given object (python 2 and python 3).
|
||||
|
||||
:param obj: `object`, usually a string
|
||||
:return: unicode string
|
||||
"""
|
||||
if sys.version_info < (3, 0):
|
||||
if isinstance(obj, str):
|
||||
return obj.decode(encoding)
|
||||
else:
|
||||
return unicode(obj)
|
||||
else:
|
||||
return string
|
||||
return str(obj)
|
||||
|
||||
|
||||
def force_encode(string, encoding='utf-8'):
|
||||
|
|
Loading…
Reference in New Issue