Accumulate logs if necessary while loading data
authorJeremy Stanley <fungi@yuggoth.org>
Mon, 23 Mar 2015 06:46:05 +0000 (06:46 +0000)
committerJeremy Stanley <fungi@yuggoth.org>
Mon, 23 Mar 2015 06:46:05 +0000 (06:46 +0000)
Prior to existence of the global universe, the destination files for
logging may not be known. Accumulate log entries during
DataFile.load() if immediate logging fails, so that they can be
flushed later once logging is possible.

lib/mudpy/data.py

index b3ca5a8..f254dc6 100644 (file)
@@ -29,11 +29,12 @@ class DataFile:
             self.data = yaml.load(open(self.filename))
         except FileNotFoundError:
             # it's normal if the file is one which doesn't exist yet
+            log_entry = ("File %s is unavailable." % self.filename, 6)
             try:
-                mudpy.misc.log("Couldn't read %s file." % self.filename, 6)
+                mudpy.misc.log(*log_entry)
             except NameError:
                 # happens when we're not far enough along in the init process
-                pass
+                self.universe.setup_loglines.append(log_entry)
         if not hasattr(self.universe, "files"):
             self.universe.files = {}
         self.universe.files[self.filename] = self