Merge pull request #11843 from hoelzl/pr-python3-build

Fix Python 3 build
This commit is contained in:
Rémi Verschelde 2017-10-07 10:54:58 +02:00 committed by GitHub
commit 84e7bbafb7
3 changed files with 35 additions and 12 deletions

View file

@ -14,6 +14,17 @@ if sys.version_info < (3,):
return x return x
def iteritems(d): def iteritems(d):
return d.iteritems() return d.iteritems()
def escape_string(s):
if isinstance(s, unicode):
s = s.encode('ascii')
result = ''
for c in s:
if not (32 <= ord(c) < 127) or c in ('\\', '"'):
result += '\\%03o' % ord(c)
else:
result += c
return result
else: else:
def isbasestring(s): def isbasestring(s):
return isinstance(s, (str, bytes)) return isinstance(s, (str, bytes))
@ -29,3 +40,21 @@ else:
return codecs.utf_8_encode(x)[0] return codecs.utf_8_encode(x)[0]
def iteritems(d): def iteritems(d):
return iter(d.items()) return iter(d.items())
def charcode_to_c_escapes(c):
rev_result = []
while c >= 256:
c, low = (c // 256, c % 256)
rev_result.append('\\%03o' % low)
rev_result.append('\\%03o' % c)
return ''.join(reversed(rev_result))
def escape_string(s):
result = ''
if isinstance(s, str):
s = s.encode('utf-8')
for c in s:
if not(32 <= c < 127) or c in (ord('\\'), ord('"')):
result += charcode_to_c_escapes(c)
else:
result += chr(c)
return result

View file

@ -4,18 +4,8 @@ Import('env')
env.editor_sources = [] env.editor_sources = []
import os import os
from compat import encode_utf8, byte_to_str, open_utf8 from compat import encode_utf8, byte_to_str, open_utf8, escape_string
def escape_string(s, encoding='ascii'):
if isinstance(s, unicode):
s = s.encode(encoding)
result = ''
for c in s:
if not (32 <= ord(c) < 127) or c in ('\\', '"'):
result += '\\%03o' % ord(c)
else:
result += c
return result
def make_certs_header(target, source, env): def make_certs_header(target, source, env):

View file

@ -1,7 +1,11 @@
import os import os
if os.name == 'nt': if os.name == 'nt':
import _winreg as winreg import sys
if sys.version_info < (3,):
import _winreg as winreg
else:
import winreg
def _reg_open_key(key, subkey): def _reg_open_key(key, subkey):