Try to make missing pidfile and logfile parent dir
[mudpy.git] / mudpy / misc.py
index 7698e81..f4168ee 100644 (file)
@@ -994,6 +994,7 @@ def log(message, level=0):
     if file_name:
         if not os.path.isabs(file_name):
             file_name = os.path.join(universe.startdir, file_name)
+        os.makedirs(os.path.dirname(file_name), exist_ok=True)
         file_descriptor = codecs.open(file_name, "a", "utf-8")
         for line in lines:
             file_descriptor.write(timestamp + " " + line + "\n")
@@ -2389,6 +2390,7 @@ def create_pidfile(universe):
     if file_name:
         if not os.path.isabs(file_name):
             file_name = os.path.join(universe.startdir, file_name)
+        os.makedirs(os.path.dirname(file_name), exist_ok=True)
         file_descriptor = codecs.open(file_name, "w", "utf-8")
         file_descriptor.write(pid + "\n")
         file_descriptor.flush()