Partial REUSE cmpliance.
[open-adventure.git] / make_graph.py
index 92655e5e354d4060a9f5982dfd28be3014d27804..edaaa6fb5df8f315d88168ec98e26f8532ccdc0c 100755 (executable)
@@ -1,18 +1,20 @@
 #!/usr/bin/env python3
+# SPDX-FileCopyrightText: Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
 """\
 usage: make-graph.py [-a] -d] [-m] [-s]
 
 Make a DOT graph of Colossal Cave.
 
 -a = emit graph of entire dungeon
--d = emit graoh of mazw all different
+-d = emit graph of maze all different
 -f = emit graph of forest locations
 -m = emit graph of maze all alike
 -s = emit graph of non-forest surface locations
--v = include internal sy,no;s in room labels
+-v = include internal symbols in room labels
 """
-# 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,multiple-imports,redefined-outer-name
 
 import sys, getopt, yaml
 
@@ -68,7 +70,7 @@ def roomlabel(loc):
     return description
 
 # A forwarder is a location that you can't actually stop in - when you go there
-# it ships some message (which is the point) then shifts you to a nexr location.
+# it ships some message (which is the point) then shifts you to a next location.
 # A forwarder has a zero-length array of notion verbs in its travel section.
 #
 # Here is an example forwarder declaration:
@@ -95,7 +97,7 @@ def forward(loc):
     return loc
 
 def reveal(objname):
-    "Should this object be revealed when mappinmg?"
+    "Should this object be revealed when mapping?"
     if "OBJ_" in objname:
         return False
     if objname == "VEND":
@@ -104,7 +106,7 @@ def reveal(objname):
     return not obj.get("immovable")
 
 if __name__ == "__main__":
-    with open("adventure.yaml", "r") as f:
+    with open("adventure.yaml", "r", encoding='ascii', errors='surrogateescape') as f:
         db = yaml.safe_load(f)
 
     location_lookup = dict(db["locations"])
@@ -146,8 +148,8 @@ if __name__ == "__main__":
                 startlocs[location] = [objname]
 
     # Compute reachability, using forwards.
-    # Dictionary ke6y is (from, to) iff its a valid link,
-    # value is correspoinding motion verbs.
+    # Dictionary key is (from, to) iff its a valid link,
+    # value is corresponding motion verbs.
     links = {}
     nodes = []
     for (loc, attrs) in db["locations"]: