X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=blobdiff_plain;f=lib%2Fmudpy%2Fdata.py;h=02a913981f9b5b2ce5747e2e1503d288d2619c16;hp=97032e2ae5e467e6bde22456b89646fe61aa0973;hb=f2e017445df6026bcde0000b2490caee4ae1e7e3;hpb=6e92c2d80dfd8f87d57c569db2fd9c9892a407a5 diff --git a/lib/mudpy/data.py b/lib/mudpy/data.py index 97032e2..02a9139 100644 --- a/lib/mudpy/data.py +++ b/lib/mudpy/data.py @@ -84,9 +84,21 @@ class DataFile: includes.append(item) if item not in self.universe.private_files: self.universe.private_files.append(item) - for node in self.data: - if node != "__control__": - mudpy.misc.Element(node, self.universe, self.filename) + for node in list(self.data): + if node == "__control__": + continue + facet_pos = node.rfind(".") + 1 + if not facet_pos: + mudpy.misc.Element(node, self.universe, self.filename, + old_style=True) + else: + prefix = node[:facet_pos].strip(".") + try: + element = self.universe.contents[prefix] + except KeyError: + element = mudpy.misc.Element(prefix, self.universe, + self.filename) + element.set(node[facet_pos:], self.data[node]) for include_file in includes: if not os.path.isabs(include_file): include_file = find_file( @@ -120,11 +132,8 @@ class DataFile: "__control__"]: max_count = self.data["__control__"]["backup_count"] else: - max_count = self.universe.categories[ - "internal" - ][ - "limits" - ].get("default_backup_count") + max_count = self.universe.contents["mudpy.limit"].get( + "backups") if os.path.exists(self.filename) and max_count: backups = [] for candidate in os.listdir(os.path.dirname(self.filename)):