evennia.typeclasses.managers¶
This implements the common managers that are used by the abstract models in dbobjects.py (and which are thus shared by all Attributes and TypedObjects).
-
class
evennia.typeclasses.managers.
TypedObjectManager
(*args, **kwargs)[source]¶ Bases:
evennia.utils.idmapper.manager.SharedMemoryManager
Common ObjectManager for all dbobjects.
-
get_attribute
(key=None, category=None, value=None, strvalue=None, obj=None, attrtype=None, **kwargs)[source]¶ Return Attribute objects by key, by category, by value, by strvalue, by object (it is stored on) or with a combination of those criteria.
- Parameters
key (str, optional) – The attribute’s key to search for
category (str, optional) – The category of the attribute(s) to search for.
value (str, optional) – The attribute value to search for. Note that this is not a very efficient operation since it will query for a pickled entity. Mutually exclusive to strvalue.
strvalue (str, optional) – The str-value to search for. Most Attributes will not have strvalue set. This is mutually exclusive to the value keyword and will take precedence if given.
obj (Object, optional) – On which object the Attribute to search for is.
attrype (str, optional) – An attribute-type to search for. By default this is either None (normal Attributes) or “nick”.
**kwargs (any) – Currently unused. Reserved for future use.
- Returns
list – The matching Attributes.
-
get_nick
(key=None, category=None, value=None, strvalue=None, obj=None)[source]¶ Get a nick, in parallel to get_attribute.
- Parameters
key (str, optional) – The nicks’s key to search for
category (str, optional) – The category of the nicks(s) to search for.
value (str, optional) – The attribute value to search for. Note that this is not a very efficient operation since it will query for a pickled entity. Mutually exclusive to strvalue.
strvalue (str, optional) – The str-value to search for. Most Attributes will not have strvalue set. This is mutually exclusive to the value keyword and will take precedence if given.
obj (Object, optional) – On which object the Attribute to search for is.
- Returns
nicks (list) – The matching Nicks.
-
get_by_attribute
(key=None, category=None, value=None, strvalue=None, attrtype=None, **kwargs)[source]¶ Return objects having attributes with the given key, category, value, strvalue or combination of those criteria.
- Parameters
key (str, optional) – The attribute’s key to search for
category (str, optional) – The category of the attribute to search for.
value (str, optional) – The attribute value to search for. Note that this is not a very efficient operation since it will query for a pickled entity. Mutually exclusive to strvalue.
strvalue (str, optional) – The str-value to search for. Most Attributes will not have strvalue set. This is mutually exclusive to the value keyword and will take precedence if given.
attrype (str, optional) – An attribute-type to search for. By default this is either None (normal Attributes) or “nick”.
kwargs (any) – Currently unused. Reserved for future use.
- Returns
obj (list) – Objects having the matching Attributes.
-
get_by_nick
(key=None, nick=None, category='inputline')[source]¶ Get object based on its key or nick.
- Parameters
key (str, optional) – The attribute’s key to search for
nick (str, optional) – The nickname to search for
category (str, optional) – The category of the nick to search for.
- Returns
obj (list) – Objects having the matching Nicks.
-
get_tag
(key=None, category=None, obj=None, tagtype=None, global_search=False)[source]¶ Return Tag objects by key, by category, by object (it is stored on) or with a combination of those criteria.
- Parameters
key (str, optional) – The Tag’s key to search for
category (str, optional) – The Tag of the attribute(s) to search for.
obj (Object, optional) – On which object the Tag to search for is.
tagtype (str, optional) – One of None (normal tags), “alias” or “permission”
global_search (bool, optional) – Include all possible tags, not just tags on this object
- Returns
tag (list) – The matching Tags.
-
get_permission
(key=None, category=None, obj=None)[source]¶ Get a permission from the database.
- Parameters
key (str, optional) – The permission’s identifier.
category (str, optional) – The permission’s category.
obj (object, optional) – The object on which this Tag is set.
- Returns
permission (list) – Permission objects.
-
get_alias
(key=None, category=None, obj=None)[source]¶ Get an alias from the database.
- Parameters
key (str, optional) – The permission’s identifier.
category (str, optional) – The permission’s category.
obj (object, optional) – The object on which this Tag is set.
- Returns
alias (list) – Alias objects.
-
get_by_tag
(key=None, category=None, tagtype=None, **kwargs)[source]¶ Return objects having tags with a given key or category or combination of the two. Also accepts multiple tags/category/tagtype
- Parameters
key (str or list, optional) – Tag key or list of keys. Not case sensitive.
category (str or list, optional) – Tag category. Not case sensitive. If key is a list, a single category can either apply to all keys in that list or this must be a list matching the key list element by element. If no key is given, all objects with tags of this category are returned.
tagtype (str, optional) – ‘type’ of Tag, by default this is either None (a normal Tag), alias or permission. This always apply to all queried tags.
- Keyword Arguments
match (str) – “all” (default) or “any”; determines whether the target object must be tagged with ALL of the provided tags/categories or ANY single one. ANY will perform a weighted sort, so objects with more tag matches will outrank those with fewer tag matches.
- Returns
objects (list) – Objects with matching tag.
- Raises
IndexError – If key and category are both lists and category is shorter than key.
-
get_by_permission
(key=None, category=None)[source]¶ Return objects having permissions with a given key or category or combination of the two.
- Parameters
key (str, optional) – Permissions key. Not case sensitive.
category (str, optional) – Permission category. Not case sensitive.
- Returns
objects (list) – Objects with matching permission.
-
get_by_alias
(key=None, category=None)[source]¶ Return objects having aliases with a given key or category or combination of the two.
- Parameters
key (str, optional) – Alias key. Not case sensitive.
category (str, optional) – Alias category. Not case sensitive.
- Returns
objects (list) – Objects with matching alias.
-
create_tag
(key=None, category=None, data=None, tagtype=None)[source]¶ Create a new Tag of the base type associated with this object. This makes sure to create case-insensitive tags. If the exact same tag configuration (key+category+tagtype+dbmodel) exists on the model, a new tag will not be created, but an old one returned.
- Parameters
key (str, optional) – Tag key. Not case sensitive.
category (str, optional) – Tag category. Not case sensitive.
data (str, optional) – Extra information about the tag.
tagtype (str or None, optional) – ‘type’ of Tag, by default this is either None (a normal Tag), alias or permission.
Notes
The data field is not part of the uniqueness of the tag: Setting data on an existing tag will overwrite the old data field. It is intended only as a way to carry information about the tag (like a help text), not to carry any information about the tagged objects themselves.
-
dbref
(dbref, reqhash=True)[source]¶ Determing if input is a valid dbref.
- Parameters
dbref (str or int) – A possible dbref.
reqhash (bool, optional) – If the “#” is required for this to be considered a valid hash.
- Returns
dbref (int or None) – The integer part of the dbref.
Notes
Valid forms of dbref (database reference number) are either a string ‘#N’ or an integer N.
-
get_id
(dbref)[source]¶ Find object with given dbref.
- Parameters
dbref (str or int) – The id to search for.
- Returns
object (TypedObject) – The matched object.
-
dbref_search
(dbref)[source]¶ Alias to get_id.
- Parameters
dbref (str or int) – The id to search for.
- Returns
Queryset – Queryset with 0 or 1 match.
-
search_dbref
(dbref)¶ Alias to get_id.
- Parameters
dbref (str or int) – The id to search for.
- Returns
Queryset – Queryset with 0 or 1 match.
-
get_dbref_range
(min_dbref=None, max_dbref=None)[source]¶ Get objects within a certain range of dbrefs.
- Parameters
min_dbref (int) – Start of dbref range.
max_dbref (int) – End of dbref range (inclusive)
- Returns
objects (list) –
- TypedObjects with dbrefs within
the given dbref ranges.
-
get_typeclass_totals
(*args, **kwargs) → object[source]¶ Returns a queryset of typeclass composition statistics.
- Returns
qs (Queryset) –
- A queryset of dicts containing the typeclass (name),
the count of objects with that typeclass and a float representing the percentage of objects associated with the typeclass.
-
object_totals
()[source]¶ Get info about database statistics.
- Returns
census (dict) –
- A dictionary {typeclass_path: number, …} with
all the typeclasses active in-game as well as the number of such objects defined (i.e. the number of database object having that typeclass set on themselves).
-
typeclass_search
(typeclass, include_children=False, include_parents=False)[source]¶ Searches through all objects returning those which are of the specified typeclass.
- Parameters
typeclass (str or class) – A typeclass class or a python path to a typeclass.
include_children (bool, optional) – Return objects with given typeclass and all children inheriting from this typeclass. Mutually exclusive to include_parents.
include_parents (bool, optional) – Return objects with given typeclass and all parents to this typeclass. Mutually exclusive to include_children.
- Returns
objects (list) – The objects found with the given typeclasses.
- Raises
ImportError – If the provided typeclass is not a valid typeclass or the path to an existing typeclass.
-