Add ability to batch-add tags, permissions and aliases along with category in the object/player create functions as well as in the tag handler. This is useful for direct assignment of categories from prototypes.

This commit is contained in:
Griatch 2017-04-02 22:11:54 +02:00
parent a648433db8
commit e34d32bd60
6 changed files with 50 additions and 10 deletions

View file

@ -944,17 +944,17 @@ class DefaultObject(with_metaclass(TypeclassBase, ObjectDB)):
self.save(update_fields=updates)
if cdict.get("permissions"):
self.permissions.add(cdict["permissions"])
self.permissions.batch_add(cdict["permissions"])
if cdict.get("locks"):
self.locks.add(cdict["locks"])
if cdict.get("aliases"):
self.aliases.add(cdict["aliases"])
self.aliases.batch_add(cdict["aliases"])
if cdict.get("location"):
cdict["location"].at_object_receive(self, None)
self.at_after_move(None)
if cdict.get("tags"):
# this should be a list of tags
self.tags.add(cdict["tags"])
self.tags.batch_add(cdict["tags"])
if cdict.get("attributes"):
# this should be a dict of attrname:value
keys, values = list(cdict["attributes"]), listvalues(cdict["attributes"])