X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=blobdiff_plain;f=mudpy%2Fdata.py;h=c4848be27c1cfd42c6f38c9af4f4d5645598768c;hp=00ab923a5b316fed314ac7a5cda07fe9a6a4b981;hb=275b3f156a8ceb0ec50e5651cbcb8415269c7dd4;hpb=91f6b37e5fc36953cc1f3150695382d0822b0672 diff --git a/mudpy/data.py b/mudpy/data.py index 00ab923..c4848be 100644 --- a/mudpy/data.py +++ b/mudpy/data.py @@ -97,7 +97,7 @@ class DataFile: element = self.universe.contents[prefix] except KeyError: element = mudpy.misc.Element(prefix, self.universe, - self.filename) + self.filename) element.set(node[facet_pos:], self.data[node]) if prefix.startswith("mudpy.movement."): self.universe.directions.add( @@ -134,15 +134,17 @@ class DataFile: if "__control__" in self.data and "backup_count" in self.data[ "__control__"]: max_count = self.data["__control__"]["backup_count"] - else: + elif "mudpy.limit" in self.universe.contents: max_count = self.universe.contents["mudpy.limit"].get( - "backups") + "backups", 0) + else: + max_count = 0 if os.path.exists(self.filename) and max_count: backups = [] for candidate in os.listdir(os.path.dirname(self.filename)): if re.match( os.path.basename(self.filename) + - """\.\d+$""", candidate + r"""\.\d+$""", candidate ): backups.append(int(candidate.split(".")[-1])) backups.sort() @@ -245,16 +247,18 @@ def find_file( "internal:storage", "").get("search_path", "") # another fallback root path, this time from the universe startdir - if not root_path and hasattr(universe, "startdir"): - root_path = universe.startdir + if hasattr(universe, "startdir"): + if not root_path: + root_path = universe.startdir + elif not os.path.isabs(root_path): + root_path = os.path.join(universe.startdir, root_path) # when no root path is specified, assume the current working directory if not root_path: root_path = os.getcwd() - # otherwise, make sure it's absolute - elif not os.path.isabs(root_path): - root_path = os.path.realpath(root_path) + # make sure it's absolute + root_path = os.path.realpath(root_path) # if there's no search path, just use the root path and etc if not search_path: