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()
"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: