fix encoding

This commit is contained in:
Sander Land committed 2020-12-11 23:04:46 +01:00
1 parent 70f91749e6
commit 03e93568c7
2 files changed
+8 -4

No files matched your search

+2 -2
View File
@@ -138,8 +138,8 @@ class GameNode(SGFNode):
*comments,
f"\nSGF generated by {PROGRAM_NAME} {VERSION}{SGF_INTERNAL_COMMENTS_MARKER}\n",
]
properties["CA"] = "UTF-8"
properties["AP"] = f"{PROGRAM_NAME}:{VERSION}"
properties["CA"] = ["UTF-8"]
properties["AP"] = [f"{PROGRAM_NAME}:{VERSION}"]
if self.shortcut_from:
properties["KTSF"] = [id(self.shortcut_from)]
elif "KTSF" in properties:
+6 -2
View File
@@ -326,6 +326,7 @@ class SGFNode:
class SGF:
DEFAULT_ENCODING = "ISO-8859-1" # as specified by the standard
_NODE_CLASS = SGFNode # Class used for SGF Nodes, can change this to something that inherits from SGFNode
# https://xkcd.com/1171/
@@ -365,8 +366,11 @@ class SGF:
if match:
encoding = match[1].decode("ascii", errors="ignore")
else:
encoding = "ISO-8859-1" # default
decoded = bin_contents.decode(encoding=encoding, errors="ignore")
encoding = cls.DEFAULT_ENCODING
try:
decoded = bin_contents.decode(encoding=encoding, errors="ignore")
except LookupError:
decoded = bin_contents.decode(encoding=cls.DEFAULT_ENCODING, errors="ignore")
if is_ngf:
return cls.parse_ngf(decoded)
if is_gib: