Closed dbrgn closed 10 years ago
Please review, @cfaessler.
Ping, @cfaessler.
Generator does not work with Python3 on my vagrant box:
vagrant@precise32:~/swidGenerator$ python3 -m swid_generator.main software-id
Traceback (most recent call last):
File "/usr/lib/python3.2/runpy.py", line 160, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python3.2/runpy.py", line 73, in _run_code
exec(code, run_globals)
File "/home/vagrant/swidGenerator/swid_generator/main.py", line 28, in <module>
from .argparser import MainArgumentParser
File "swid_generator/argparser.py", line 8, in <module>
from . import settings
File "swid_generator/settings.py", line 1
DEFAULT_REGID = u'regid.2004-03.org.strongswan'
^
SyntaxError: invalid syntax
vagrant@precise32:~/swidGenerator$ python3 --version
Python 3.2.3
Ok, since we don't support python 3.2: good to merge!
On Python 2, binary data can be printed directly to stdout.
On Python 3, binary data should be written to
sys.stdout.buffer
instead ofsys.stdout
directly.This commit adds a
safe_print
function to handle both unicode and bytestrings correctly on both Python versions.This fixes the problem that strings were not printed correctly on Python 3.