mirror of https://github.com/ecmwf/eccodes.git
Fix output file encoding with Python3
This commit is contained in:
parent
04eb06efb1
commit
89a176edd1
12
memfs.py
12
memfs.py
|
@ -42,10 +42,8 @@ CHUNK = 16 * 1024 * 1024 # chunk size in bytes
|
|||
try:
|
||||
str(b"\x23\x20", "ascii")
|
||||
ascii = lambda x: str(x, "ascii") # Python 3
|
||||
encode = lambda x: x.encode()
|
||||
except:
|
||||
ascii = lambda x: str(x) # Python 2
|
||||
encode = lambda x: x
|
||||
|
||||
|
||||
def get_outfile_name(base, count):
|
||||
|
@ -93,7 +91,7 @@ for directory in dirs:
|
|||
FILES[name] = fname
|
||||
SIZES[name] = os.path.getsize(full)
|
||||
|
||||
buffer.write(encode("const unsigned char %s[] = {" % (name,)))
|
||||
buffer.write("const unsigned char %s[] = {" % (name,))
|
||||
|
||||
with open(full, "rb") as f:
|
||||
i = 0
|
||||
|
@ -107,14 +105,12 @@ for directory in dirs:
|
|||
# e.g. 23 -> 0x23
|
||||
for n in range(0, len(contents_hex), 2):
|
||||
twoChars = ascii(contents_hex[n : n + 2])
|
||||
|
||||
buffer.write(encode("0x%s," % (twoChars,)))
|
||||
|
||||
buffer.write("0x%s," % (twoChars,))
|
||||
i += 1
|
||||
if (i % 20) == 0:
|
||||
buffer.write(encode("\n"))
|
||||
buffer.write("\n")
|
||||
|
||||
buffer.write(encode("};\n"))
|
||||
buffer.write("};\n")
|
||||
if buffer.tell() >= CHUNK:
|
||||
buffer.close()
|
||||
buffer = None
|
||||
|
|
Loading…
Reference in New Issue