Partial REUSE cmpliance.
[open-adventure.git] / make_dungeon.py
index f90ad3291e29ac6f27b132cfcb575fe5991a5b3f..0d224d3f2081fc52a1d450f007ba87443229374f 100755 (executable)
@@ -1,4 +1,6 @@
 #!/usr/bin/env python3
+# SPDX-FileCopyrightText: Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
 """
 This is the open-adventure dungeon generator. It consumes a YAML description of
 the dungeon and outputs a dungeon.h and dungeon.c pair of C code files.
@@ -6,10 +8,10 @@ the dungeon and outputs a dungeon.h and dungeon.c pair of C code files.
 The nontrivial part of this is the compilation of the YAML for
 movement rules to the travel array that's actually used by
 playermove().
-
-Copyright (c) 2017 by Eric S. Raymond
-SPDX-License-Identifier: BSD-2-clause
 """
+
+# pylint: disable=consider-using-f-string,line-too-long,invalid-name,missing-function-docstring,too-many-branches,global-statement,multiple-imports,too-many-locals,too-many-statements,too-many-nested-blocks,no-else-return,raise-missing-from,redefined-outer-name
+
 import sys, yaml
 
 YAML_NAME = "adventure.yaml"
@@ -524,7 +526,7 @@ def get_travel(travel):
     return out
 
 if __name__ == "__main__":
-    with open(YAML_NAME, "r") as f:
+    with open(YAML_NAME, "r", encoding='ascii', errors='surrogateescape') as f:
         db = yaml.safe_load(f)
 
     locnames = [x[0] for x in db["locations"]]
@@ -536,10 +538,10 @@ if __name__ == "__main__":
                                  db["objects"])
     ignore = ""
     try:
-        with open(H_TEMPLATE_PATH, "r") as htf:
+        with open(H_TEMPLATE_PATH, "r", encoding='ascii', errors='surrogateescape') as htf:
             # read in dungeon.h template
             h_template = DONOTEDIT_COMMENT + htf.read()
-        with open(C_TEMPLATE_PATH, "r") as ctf:
+        with open(C_TEMPLATE_PATH, "r", encoding='ascii', errors='surrogateescape') as ctf:
             # read in dungeon.c template
             c_template = DONOTEDIT_COMMENT + ctf.read()
     except IOError as e:
@@ -587,10 +589,10 @@ if __name__ == "__main__":
         state_definitions  = statedefines
     )
 
-    with open(H_NAME, "w") as hf:
+    with open(H_NAME, "w", encoding='ascii', errors='surrogateescape') as hf:
         hf.write(h)
 
-    with open(C_NAME, "w") as cf:
+    with open(C_NAME, "w", encoding='ascii', errors='surrogateescape') as cf:
         cf.write(c)
 
 # end