mirror of
https://github.com/evennia/evennia.git
synced 2026-03-19 06:16:31 +01:00
1534 lines
No EOL
128 KiB
HTML
1534 lines
No EOL
128 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html lang="en" data-content_root="../">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
|
||
<title>evennia.scripts.models — Evennia latest documentation</title>
|
||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
|
||
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
|
||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
<link rel="icon" href="../_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
<link rel="next" title="evennia.scripts.monitorhandler" href="evennia.scripts.monitorhandler.html" />
|
||
<link rel="prev" title="evennia.scripts.manager" href="evennia.scripts.manager.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="Related">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
accesskey="I">index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.scripts.monitorhandler.html" title="evennia.scripts.monitorhandler"
|
||
accesskey="N">next</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.scripts.manager.html" title="evennia.scripts.manager"
|
||
accesskey="P">previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> »</li>
|
||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-4"><a href="evennia.scripts.html" accesskey="U">evennia.scripts</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.scripts.models</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section id="module-evennia.scripts.models">
|
||
<span id="evennia-scripts-models"></span><h1>evennia.scripts.models<a class="headerlink" href="#module-evennia.scripts.models" title="Link to this heading">¶</a></h1>
|
||
<p>Scripts are entities that perform some sort of action, either only
|
||
once or repeatedly. They can be directly linked to a particular
|
||
Evennia Object or be stand-alonw (in the latter case it is considered
|
||
a ‘global’ script). Scripts can indicate both actions related to the
|
||
game world as well as pure behind-the-scenes events and effects.
|
||
Everything that has a time component in the game (i.e. is not
|
||
hard-coded at startup or directly created/controlled by players) is
|
||
handled by Scripts.</p>
|
||
<p>Scripts have to check for themselves that they should be applied at a
|
||
particular moment of time; this is handled by the is_valid() hook.
|
||
Scripts can also implement at_start and at_end hooks for preparing and
|
||
cleaning whatever effect they have had on the game object.</p>
|
||
<p>Common examples of uses of Scripts:</p>
|
||
<ul class="simple">
|
||
<li><p>Load the default cmdset to the account object’s cmdhandler
|
||
when logging in.</p></li>
|
||
<li><p>Switch to a different state, such as entering a text editor,
|
||
start combat or enter a dark room.</p></li>
|
||
<li><p>Merge a new cmdset with the default one for changing which
|
||
commands are available at a particular time</p></li>
|
||
<li><p>Give the account/object a time-limited bonus/effect</p></li>
|
||
</ul>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB">
|
||
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.scripts.models.</span></span><span class="sig-name descname"><span class="pre">ScriptDB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/models.html#ScriptDB"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDB" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.typeclasses.models.html#evennia.typeclasses.models.TypedObject" title="evennia.typeclasses.models.TypedObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypedObject</span></code></a></p>
|
||
<p>The Script database representation.</p>
|
||
<dl class="simple">
|
||
<dt>The TypedObject supplies the following (inherited) properties:</dt><dd><p>key - main name
|
||
name - alias for key
|
||
typeclass_path - the path to the decorating typeclass
|
||
typeclass - auto-linked typeclass
|
||
date_created - time stamp of object creation
|
||
permissions - perm strings
|
||
dbref - #id of object
|
||
db - persistent attribute storage
|
||
ndb - non-persistent attribute storage</p>
|
||
</dd>
|
||
<dt>The ScriptDB adds the following properties:</dt><dd><p>desc - optional description of script
|
||
obj - the object the script is linked to, if any
|
||
account - the account the script is linked to (exclusive with obj)
|
||
interval - how often script should run
|
||
start_delay - if the script should start repeating right away
|
||
repeats - how many times the script should repeat
|
||
persistent - if script should survive a server reboot
|
||
is_active - bool if script is currently running</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_desc">
|
||
<span class="sig-name descname"><span class="pre">db_desc</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_desc" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_obj">
|
||
<span class="sig-name descname"><span class="pre">db_obj</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_obj" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related object on the forward side of a many-to-one or
|
||
one-to-one (via ForwardOneToOneDescriptor subclass) relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Child</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">parent</span> <span class="o">=</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="n">Parent</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'children'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Child.parent**</strong> is a <strong>**ForwardManyToOneDescriptor**</strong> instance.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_account">
|
||
<span class="sig-name descname"><span class="pre">db_account</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_account" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related object on the forward side of a many-to-one or
|
||
one-to-one (via ForwardOneToOneDescriptor subclass) relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Child</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">parent</span> <span class="o">=</span> <span class="n">ForeignKey</span><span class="p">(</span><span class="n">Parent</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'children'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Child.parent**</strong> is a <strong>**ForwardManyToOneDescriptor**</strong> instance.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_interval">
|
||
<span class="sig-name descname"><span class="pre">db_interval</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_interval" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_start_delay">
|
||
<span class="sig-name descname"><span class="pre">db_start_delay</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_start_delay" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_repeats">
|
||
<span class="sig-name descname"><span class="pre">db_repeats</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_repeats" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_persistent">
|
||
<span class="sig-name descname"><span class="pre">db_persistent</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_persistent" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_is_active">
|
||
<span class="sig-name descname"><span class="pre">db_is_active</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_is_active" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.objects">
|
||
<span class="sig-name descname"><span class="pre">objects</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre"><evennia.scripts.manager.ScriptDBManager</span> <span class="pre">object></span></em><a class="headerlink" href="#evennia.scripts.models.ScriptDB.objects" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.obj">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">obj</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.obj" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Property wrapper that homogenizes access to either the
|
||
db_account or db_obj field, using the same object property
|
||
name.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.object">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">object</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.object" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Property wrapper that homogenizes access to either the
|
||
db_account or db_obj field, using the same object property
|
||
name.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.DoesNotExist">
|
||
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DoesNotExist</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.DoesNotExist" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.utils.dbserialize.html#evennia.utils.dbserialize.ObjectDoesNotExist" title="django.core.exceptions.ObjectDoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">ObjectDoesNotExist</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.MultipleObjectsReturned">
|
||
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">MultipleObjectsReturned</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.MultipleObjectsReturned" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">MultipleObjectsReturned</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.account">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">account</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.account" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_account</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_account_id">
|
||
<span class="sig-name descname"><span class="pre">db_account_id</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_account_id" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_attributes">
|
||
<span class="sig-name descname"><span class="pre">db_attributes</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_attributes" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Pizza.toppings**</strong> and <strong>**Topping.pizzas**</strong> are <strong>**ManyToManyDescriptor**</strong>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <strong>**create_forward_many_to_many_manager()**</strong> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_date_created">
|
||
<span class="sig-name descname"><span class="pre">db_date_created</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_date_created" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_key">
|
||
<span class="sig-name descname"><span class="pre">db_key</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_key" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_lock_storage">
|
||
<span class="sig-name descname"><span class="pre">db_lock_storage</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_lock_storage" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_obj_id">
|
||
<span class="sig-name descname"><span class="pre">db_obj_id</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_obj_id" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_tags">
|
||
<span class="sig-name descname"><span class="pre">db_tags</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_tags" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Pizza.toppings**</strong> and <strong>**Topping.pizzas**</strong> are <strong>**ManyToManyDescriptor**</strong>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <strong>**create_forward_many_to_many_manager()**</strong> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.db_typeclass_path">
|
||
<span class="sig-name descname"><span class="pre">db_typeclass_path</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.db_typeclass_path" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.desc">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">desc</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.desc" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_desc</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.get_next_by_db_date_created">
|
||
<span class="sig-name descname"><span class="pre">get_next_by_db_date_created</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">field=<django.db.models.fields.DateTimeField:</span> <span class="pre">db_date_created></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_next=True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">**kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.get_next_by_db_date_created" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.get_previous_by_db_date_created">
|
||
<span class="sig-name descname"><span class="pre">get_previous_by_db_date_created</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">field=<django.db.models.fields.DateTimeField:</span> <span class="pre">db_date_created></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_next=False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">**kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.get_previous_by_db_date_created" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.id">
|
||
<span class="sig-name descname"><span class="pre">id</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.id" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.interval">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.interval" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_interval</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.is_active">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">is_active</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.is_active" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_is_active</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.path">
|
||
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.scripts.models.ScriptDB'</span></em><a class="headerlink" href="#evennia.scripts.models.ScriptDB.path" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.persistent">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">persistent</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.persistent" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_persistent</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.receiver_script_set">
|
||
<span class="sig-name descname"><span class="pre">receiver_script_set</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.receiver_script_set" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Pizza.toppings**</strong> and <strong>**Topping.pizzas**</strong> are <strong>**ManyToManyDescriptor**</strong>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <strong>**create_forward_many_to_many_manager()**</strong> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.repeats">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">repeats</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.repeats" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_repeats</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.sender_script_set">
|
||
<span class="sig-name descname"><span class="pre">sender_script_set</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.sender_script_set" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Pizza.toppings**</strong> and <strong>**Topping.pizzas**</strong> are <strong>**ManyToManyDescriptor**</strong>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <strong>**create_forward_many_to_many_manager()**</strong> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.start_delay">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">start_delay</span></span><a class="headerlink" href="#evennia.scripts.models.ScriptDB.start_delay" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_start_delay</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDB.typename">
|
||
<span class="sig-name descname"><span class="pre">typename</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'SharedMemoryModelBase'</span></em><a class="headerlink" href="#evennia.scripts.models.ScriptDB.typename" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ObjectDoesNotExist">
|
||
<em class="property"><span class="k"><span class="pre">exception</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.scripts.models.</span></span><span class="sig-name descname"><span class="pre">ObjectDoesNotExist</span></span><a class="reference internal" href="../_modules/django/core/exceptions.html#ObjectDoesNotExist"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ObjectDoesNotExist" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></p>
|
||
<p>The requested object does not exist</p>
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ObjectDoesNotExist.silent_variable_failure">
|
||
<span class="sig-name descname"><span class="pre">silent_variable_failure</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#evennia.scripts.models.ObjectDoesNotExist.silent_variable_failure" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager">
|
||
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.scripts.models.</span></span><span class="sig-name descname"><span class="pre">ScriptDBManager</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.typeclasses.managers.html#evennia.typeclasses.managers.TypedObjectManager" title="evennia.typeclasses.managers.TypedObjectManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">TypedObjectManager</span></code></a></p>
|
||
<p>This Scriptmanager implements methods for searching
|
||
and manipulating Scripts directly from the database.</p>
|
||
<p>Evennia-specific search methods (will return Typeclasses or
|
||
lists of Typeclasses, whereas Django-general methods will return
|
||
Querysets or database objects).</p>
|
||
<p>dbref (converter)
|
||
dbref_search
|
||
get_dbref_range
|
||
object_totals
|
||
typeclass_search
|
||
get_all_scripts_on_obj
|
||
get_all_scripts
|
||
delete_script
|
||
remove_non_persistent
|
||
validate
|
||
script_search (equivalent to evennia.search_script)
|
||
copy_script</p>
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.copy_script">
|
||
<span class="sig-name descname"><span class="pre">copy_script</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">original_script</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_key</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_obj</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_locks</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager.copy_script"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.copy_script" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Make an identical copy of the original_script.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>original_script</strong> (<em>Script</em>) – The Script to copy.</p></li>
|
||
<li><p><strong>new_key</strong> (<em>str</em><em>, </em><em>optional</em>) – Rename the copy.</p></li>
|
||
<li><p><strong>new_obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Place copy on different Object.</p></li>
|
||
<li><p><strong>new_locks</strong> (<em>str</em><em>, </em><em>optional</em>) – Give copy different locks from
|
||
the original.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><p><em>script_copy (Script)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>A new Script instance, copied from</dt><dd><p>the original.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.create_script">
|
||
<span class="sig-name descname"><span class="pre">create_script</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">typeclass</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obj</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">account</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">locks</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">interval</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_delay</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repeats</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">persistent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">autostart</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">report_to</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">desc</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attributes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager.create_script"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.create_script" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Create a new script. All scripts are a combination of a database
|
||
object that communicates with the database, and an typeclass that
|
||
‘decorates’ the database object into being different types of
|
||
scripts. It’s behaviour is similar to the game objects except
|
||
scripts has a time component and are more limited in scope.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Keyword Arguments<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Class or python path to a typeclass.</p></li>
|
||
<li><p><strong>key</strong> (<em>str</em>) – Name of the new object. If not set, a name of
|
||
#dbref will be set.</p></li>
|
||
<li><p><strong>obj</strong> (<em>Object</em>) – The entity on which this Script sits. If this
|
||
is <strong>None</strong>, we are creating a “global” script.</p></li>
|
||
<li><p><strong>account</strong> (<em>Account</em>) – The account on which this Script sits. It is
|
||
exclusiv to <strong>obj</strong>.</p></li>
|
||
<li><p><strong>locks</strong> (<em>str</em>) – one or more lockstrings, separated by semicolons.</p></li>
|
||
<li><p><strong>interval</strong> (<em>int</em>) – The triggering interval for this Script, in
|
||
seconds. If unset, the Script will not have a timing
|
||
component.</p></li>
|
||
<li><p><strong>start_delay</strong> (<em>bool</em>) – If <strong>True</strong>, will wait <strong>interval</strong> seconds
|
||
before triggering the first time.</p></li>
|
||
<li><p><strong>repeats</strong> (<em>int</em>) – The number of times to trigger before stopping.
|
||
If unset, will repeat indefinitely.</p></li>
|
||
<li><p><strong>persistent</strong> (<em>bool</em>) – If this Script survives a server shutdown
|
||
or not (all Scripts will survive a reload).</p></li>
|
||
<li><p><strong>autostart</strong> (<em>bool</em>) – If this Script will start immediately when
|
||
created or if the <strong>start</strong> method must be called explicitly.</p></li>
|
||
<li><p><strong>report_to</strong> (<em>Object</em>) – The object to return error messages to.</p></li>
|
||
<li><p><strong>desc</strong> (<em>str</em>) – Optional description of script</p></li>
|
||
<li><p><strong>tags</strong> (<em>list</em>) – List of tags or tuples (tag, category).</p></li>
|
||
<li><p><strong>attributes</strong> (<em>list</em>) – List if tuples (key, value) or (key, value, category)
|
||
(key, value, lockstring) or (key, value, lockstring, default_access).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>script (obj)</em> – An instance of the script created</p>
|
||
</dd>
|
||
</dl>
|
||
<p>See evennia.scripts.manager for methods to manipulate existing
|
||
scripts in the database.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.delete_script">
|
||
<span class="sig-name descname"><span class="pre">delete_script</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dbref</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager.delete_script"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.delete_script" title="Link to this definition">¶</a></dt>
|
||
<dd><p>This stops and deletes a specific script directly from the
|
||
script database.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><strong>dbref</strong> (<em>int</em>) – Database unique id.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>This might be needed for global scripts not tied to a
|
||
specific game object</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.get_all_scripts">
|
||
<span class="sig-name descname"><span class="pre">get_all_scripts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager.get_all_scripts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.get_all_scripts" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Get all scripts in the database.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><strong>key</strong> (<em>str</em><em> or </em><em>int</em><em>, </em><em>optional</em>) – Restrict result to only those
|
||
with matching key or dbref.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>scripts (list)</em> – All scripts found, or those matching <strong>key</strong>.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.get_all_scripts_on_obj">
|
||
<span class="sig-name descname"><span class="pre">get_all_scripts_on_obj</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager.get_all_scripts_on_obj"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.get_all_scripts_on_obj" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Find all Scripts related to a particular object.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>obj</strong> (<em>Object</em>) – Object whose Scripts we are looking for.</p></li>
|
||
<li><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – Script identifier - can be given as a
|
||
dbref or name string. If given, only scripts matching the
|
||
key on the object will be returned.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>matches (list)</em> – Matching scripts.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.script_search">
|
||
<span class="sig-name descname"><span class="pre">script_search</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ostring</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obj</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">only_timed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">typeclass</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.script_search" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Search for a particular script.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>ostring</strong> (<em>str</em>) – Search criterion - a script dbef or key.</p></li>
|
||
<li><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Limit search to scripts defined on
|
||
this object</p></li>
|
||
<li><p><strong>only_timed</strong> (<em>bool</em>) – Limit search only to scripts that run
|
||
on a timer.</p></li>
|
||
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Typeclass or path to typeclass.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>Queryset</em> – An iterable with 0, 1 or more results.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.search_script">
|
||
<span class="sig-name descname"><span class="pre">search_script</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ostring</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obj</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">only_timed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">typeclass</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager.search_script"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.search_script" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Search for a particular script.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>ostring</strong> (<em>str</em>) – Search criterion - a script dbef or key.</p></li>
|
||
<li><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Limit search to scripts defined on
|
||
this object</p></li>
|
||
<li><p><strong>only_timed</strong> (<em>bool</em>) – Limit search only to scripts that run
|
||
on a timer.</p></li>
|
||
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Typeclass or path to typeclass.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>Queryset</em> – An iterable with 0, 1 or more results.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.ScriptDBManager.update_scripts_after_server_start">
|
||
<span class="sig-name descname"><span class="pre">update_scripts_after_server_start</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/manager.html#ScriptDBManager.update_scripts_after_server_start"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.ScriptDBManager.update_scripts_after_server_start" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Update/sync/restart/delete scripts after server shutdown/restart.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject">
|
||
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.scripts.models.</span></span><span class="sig-name descname"><span class="pre">TypedObject</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.utils.idmapper.models.html#evennia.utils.idmapper.models.SharedMemoryModel" title="evennia.utils.idmapper.models.SharedMemoryModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">SharedMemoryModel</span></code></a></p>
|
||
<p>Abstract Django model.</p>
|
||
<p>This is the basis for a typed object. It also contains all the
|
||
mechanics for managing connected attributes.</p>
|
||
<p>The TypedObject has the following properties:</p>
|
||
<ul class="simple">
|
||
<li><p>key - main name</p></li>
|
||
<li><p>name - alias for key</p></li>
|
||
<li><p>typeclass_path - the path to the decorating typeclass</p></li>
|
||
<li><p>typeclass - auto-linked typeclass</p></li>
|
||
<li><p>date_created - time stamp of object creation</p></li>
|
||
<li><p>permissions - perm strings</p></li>
|
||
<li><p>dbref - #id of object</p></li>
|
||
<li><p>db - persistent attribute storage</p></li>
|
||
<li><p>ndb - non-persistent attribute storage</p></li>
|
||
</ul>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.Meta">
|
||
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Meta</span></span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.Meta"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.Meta" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Django setup info.</p>
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.Meta.abstract">
|
||
<span class="sig-name descname"><span class="pre">abstract</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#evennia.scripts.models.TypedObject.Meta.abstract" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.Meta.ordering">
|
||
<span class="sig-name descname"><span class="pre">ordering</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['-db_date_created',</span> <span class="pre">'id',</span> <span class="pre">'db_typeclass_path',</span> <span class="pre">'db_key']</span></em><a class="headerlink" href="#evennia.scripts.models.TypedObject.Meta.ordering" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.Meta.verbose_name">
|
||
<span class="sig-name descname"><span class="pre">verbose_name</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Evennia</span> <span class="pre">Database</span> <span class="pre">Object'</span></em><a class="headerlink" href="#evennia.scripts.models.TypedObject.Meta.verbose_name" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.__init__">
|
||
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.__init__" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The <strong>__init__</strong> method of typeclasses is the core operational
|
||
code of the typeclass system, where it dynamically re-applies
|
||
a class based on the db_typeclass_path database field rather
|
||
than use the one in the model.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><strong>parent.</strong> (<em>Passed through to</em>)</p>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><strong>parent.</strong> (<em>Passed through to</em>)</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The loading mechanism will attempt the following steps:</p>
|
||
<ol class="arabic simple">
|
||
<li><p>Attempt to load typeclass given on command line</p></li>
|
||
<li><p>Attempt to load typeclass stored in db_typeclass_path</p></li>
|
||
<li><p>Attempt to load <strong>__settingsclasspath__</strong>, which is by the
|
||
default classes defined to be the respective user-set
|
||
base typeclass settings, like <strong>BASE_OBJECT_TYPECLASS</strong>.</p></li>
|
||
<li><p>Attempt to load <strong>__defaultclasspath__</strong>, which is the
|
||
base classes in the library, like DefaultObject etc.</p></li>
|
||
<li><p>If everything else fails, use the database model.</p></li>
|
||
</ol>
|
||
<p>Normal operation is to load successfully at either step 1
|
||
or 2 depending on how the class was called. Tracebacks
|
||
will be logged for every step the loader must take beyond
|
||
2.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.access">
|
||
<span class="sig-name descname"><span class="pre">access</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">accessing_obj</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">access_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'read'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">no_superuser_bypass</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.access"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.access" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Determines if another object has permission to access this one.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>accessing_obj</strong> (<em>str</em>) – Object trying to access this one.</p></li>
|
||
<li><p><strong>access_type</strong> (<em>str</em><em>, </em><em>optional</em>) – Type of access sought.</p></li>
|
||
<li><p><strong>default</strong> (<em>bool</em><em>, </em><em>optional</em>) – What to return if no lock of
|
||
access_type was found</p></li>
|
||
<li><p><strong>no_superuser_bypass</strong> (<em>bool</em><em>, </em><em>optional</em>) – Turn off the
|
||
superuser lock bypass (be careful with this one).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><strong>kwar</strong> (<em>any</em>) – Ignored, but is there to make the api
|
||
consistent with the object-typeclass method access, which
|
||
use it to feed to its hook methods.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.aliases">
|
||
<span class="sig-name descname"><span class="pre">aliases</span></span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.aliases"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.aliases" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.at_idmapper_flush">
|
||
<span class="sig-name descname"><span class="pre">at_idmapper_flush</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.at_idmapper_flush"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.at_idmapper_flush" title="Link to this definition">¶</a></dt>
|
||
<dd><p>This is called when the idmapper cache is flushed and
|
||
allows customized actions when this happens.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><p><em>do_flush (bool)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>If True, flush this object as normal. If</dt><dd><p>False, don’t flush and expect this object to handle
|
||
the flushing on its own.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The default implementation relies on being able to clear
|
||
Django’s Foreignkey cache on objects not affected by the
|
||
flush (notably objects with an NAttribute stored). We rely
|
||
on this cache being stored on the format “_<fieldname>_cache”.
|
||
If Django were to change this name internally, we need to
|
||
update here (unlikely, but marking just in case).</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.at_init">
|
||
<span class="sig-name descname"><span class="pre">at_init</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.at_init"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.at_init" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Called when this object is loaded into cache. This is more reliable
|
||
than to override <strong>__init__</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.at_rename">
|
||
<span class="sig-name descname"><span class="pre">at_rename</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">oldname</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">newname</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.at_rename"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.at_rename" title="Link to this definition">¶</a></dt>
|
||
<dd><p>This Hook is called by @name on a successful rename.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>oldname</strong> (<em>str</em>) – The instance’s original name.</p></li>
|
||
<li><p><strong>newname</strong> (<em>str</em>) – The new name for the instance.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.attributes">
|
||
<span class="sig-name descname"><span class="pre">attributes</span></span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.attributes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.attributes" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.check_permstring">
|
||
<span class="sig-name descname"><span class="pre">check_permstring</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">permstring</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.check_permstring"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.check_permstring" title="Link to this definition">¶</a></dt>
|
||
<dd><p>This explicitly checks if we hold particular permission
|
||
without involving any locks.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><strong>permstring</strong> (<em>str</em>) – The permission string to check against.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>result (bool)</em> – If the permstring is passed or not.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.date_created">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">date_created</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.date_created" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Get the localized date created, based on settings.TIME_ZONE.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.db">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">db</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.db" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Attribute handler wrapper. Allows for the syntax</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">obj</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">attrname</span> <span class="o">=</span> <span class="n">value</span>
|
||
<span class="c1"># and</span>
|
||
<span class="n">value</span> <span class="o">=</span> <span class="n">obj</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">attrname</span>
|
||
<span class="c1"># and</span>
|
||
<span class="k">del</span> <span class="n">obj</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">attrname</span>
|
||
<span class="c1"># and</span>
|
||
<span class="n">all_attr</span> <span class="o">=</span> <span class="n">obj</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
|
||
<span class="c1"># (unless there is an attribute</span>
|
||
<span class="c1"># named 'all', in which case that will be returned instead).</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.db_attributes">
|
||
<span class="sig-name descname"><span class="pre">db_attributes</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.db_attributes" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Pizza.toppings**</strong> and <strong>**Topping.pizzas**</strong> are <strong>**ManyToManyDescriptor**</strong>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <strong>**create_forward_many_to_many_manager()**</strong> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.db_date_created">
|
||
<span class="sig-name descname"><span class="pre">db_date_created</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.db_date_created" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.db_key">
|
||
<span class="sig-name descname"><span class="pre">db_key</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.db_key" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.db_lock_storage">
|
||
<span class="sig-name descname"><span class="pre">db_lock_storage</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.db_lock_storage" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.db_tags">
|
||
<span class="sig-name descname"><span class="pre">db_tags</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.db_tags" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><strong>**Pizza.toppings**</strong> and <strong>**Topping.pizzas**</strong> are <strong>**ManyToManyDescriptor**</strong>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <strong>**create_forward_many_to_many_manager()**</strong> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.db_typeclass_path">
|
||
<span class="sig-name descname"><span class="pre">db_typeclass_path</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.db_typeclass_path" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.dbid">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">dbid</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.dbid" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Caches and returns the unique id of the object.
|
||
Use this instead of self.id, which is not cached.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.dbref">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">dbref</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.dbref" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the object’s dbref on the form #NN.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.delete">
|
||
<span class="sig-name descname"><span class="pre">delete</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.delete"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.delete" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Cleaning up handlers on the typeclass level</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.get_absolute_url">
|
||
<span class="sig-name descname"><span class="pre">get_absolute_url</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.models.TypedObject.get_absolute_url" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to view details for
|
||
this object.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object detail page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Examples</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Oscar</span> <span class="p">(</span><span class="n">Character</span><span class="p">)</span> <span class="o">=</span> <span class="s1">'/characters/oscar/1/'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘character-detail’ would be referenced by this method.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$'</span><span class="p">,</span>
|
||
<span class="n">CharDetailView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'character-detail'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can view this object is the
|
||
developer’s responsibility.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.get_display_name">
|
||
<span class="sig-name descname"><span class="pre">get_display_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">looker</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.get_display_name"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.get_display_name" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Displays the name of the object in a viewer-aware manner.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><strong>looker</strong> (<a class="reference internal" href="#evennia.scripts.models.TypedObject" title="evennia.scripts.models.TypedObject"><em>TypedObject</em></a><em>, </em><em>optional</em>) – The object or account that is looking
|
||
at/getting inforamtion for this object. If not given, some
|
||
‘safe’ minimum level should be returned.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><p><em>name (str)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>A string containing the name of the object,</dt><dd><p>including the DBREF if this user is privileged to control
|
||
said object.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>This function could be extended to change how object names
|
||
appear to users in character, but be wary. This function
|
||
does not change an object’s keys or aliases when
|
||
searching, and is expected to produce something useful for
|
||
builders.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.get_extra_info">
|
||
<span class="sig-name descname"><span class="pre">get_extra_info</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">looker</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.get_extra_info"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.get_extra_info" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Used when an object is in a list of ambiguous objects as an
|
||
additional information tag.</p>
|
||
<p>For instance, if you had potions which could have varying
|
||
levels of liquid left in them, you might want to display how
|
||
many drinks are left in each when selecting which to drop, but
|
||
not in your normal inventory listing.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><strong>looker</strong> (<a class="reference internal" href="#evennia.scripts.models.TypedObject" title="evennia.scripts.models.TypedObject"><em>TypedObject</em></a>) – The object or account that is looking
|
||
at/getting information for this object.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><p><em>info (str)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>A string with disambiguating information,</dt><dd><p>conventionally with a leading space.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.get_next_by_db_date_created">
|
||
<span class="sig-name descname"><span class="pre">get_next_by_db_date_created</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">field=<django.db.models.fields.DateTimeField:</span> <span class="pre">db_date_created></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_next=True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">**kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.models.TypedObject.get_next_by_db_date_created" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.get_previous_by_db_date_created">
|
||
<span class="sig-name descname"><span class="pre">get_previous_by_db_date_created</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">field=<django.db.models.fields.DateTimeField:</span> <span class="pre">db_date_created></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_next=False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">**kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.models.TypedObject.get_previous_by_db_date_created" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.init_evennia_properties">
|
||
<span class="sig-name descname"><span class="pre">init_evennia_properties</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.init_evennia_properties"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.init_evennia_properties" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Called by creation methods; makes sure to initialize Attribute/TagProperties
|
||
by fetching them once.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.is_typeclass">
|
||
<span class="sig-name descname"><span class="pre">is_typeclass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">typeclass</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exact</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.is_typeclass"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.is_typeclass" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns true if this object has this type OR has a typeclass
|
||
which is an subclass of the given typeclass. This operates on
|
||
the actually loaded typeclass (this is important since a
|
||
failing typeclass may instead have its default currently
|
||
loaded) typeclass - can be a class object or the python path
|
||
to such an object to match against.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>typeclass</strong> (<em>str</em><em> or </em><em>class</em>) – A class or the full python path
|
||
to the class to check.</p></li>
|
||
<li><p><strong>exact</strong> (<em>bool</em><em>, </em><em>optional</em>) – Returns true only if the object’s
|
||
type is exactly this typeclass, ignoring parents.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><p><em>is_typeclass (bool)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>If this typeclass matches the given</dt><dd><p>typeclass.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.key">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">key</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.key" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.lock_storage">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">lock_storage</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.lock_storage" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_lock_storage</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.locks">
|
||
<span class="sig-name descname"><span class="pre">locks</span></span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.locks"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.locks" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.name">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">name</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.name" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.nattributes">
|
||
<span class="sig-name descname"><span class="pre">nattributes</span></span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.nattributes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.nattributes" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.ndb">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ndb</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.ndb" title="Link to this definition">¶</a></dt>
|
||
<dd><p>NonDataBase). Everything stored
|
||
to this is guaranteed to be cleared when a server is shutdown.
|
||
Syntax is same as for the _get_db_holder() method and
|
||
property, e.g. obj.ndb.attr = value etc.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p>A non-attr_obj store (ndb</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.objects">
|
||
<span class="sig-name descname"><span class="pre">objects</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.objects" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.path">
|
||
<span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evennia.typeclasses.models.TypedObject'</span></em><a class="headerlink" href="#evennia.scripts.models.TypedObject.path" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.permissions">
|
||
<span class="sig-name descname"><span class="pre">permissions</span></span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.permissions"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.permissions" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.search">
|
||
<em class="property"><span class="k"><span class="pre">classmethod</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">search</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">query</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.search"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.search" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Overridden by class children. This implements a common API.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>query</strong> (<em>str</em>) – A search query.</p></li>
|
||
<li><p><strong>**kwargs</strong> – Other search parameters.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>list</em> – A list of 0, 1 or more matches, only of this typeclass.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.set_class_from_typeclass">
|
||
<span class="sig-name descname"><span class="pre">set_class_from_typeclass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">typeclass_path</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.set_class_from_typeclass"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.set_class_from_typeclass" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.swap_typeclass">
|
||
<span class="sig-name descname"><span class="pre">swap_typeclass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_typeclass</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clean_attributes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">run_start_hooks</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'all'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">no_default</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clean_cmdsets</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.swap_typeclass"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.swap_typeclass" title="Link to this definition">¶</a></dt>
|
||
<dd><p>This performs an in-situ swap of the typeclass. This means
|
||
that in-game, this object will suddenly be something else.
|
||
Account will not be affected. To ‘move’ an account to a different
|
||
object entirely (while retaining this object’s type), use
|
||
self.account.swap_object().</p>
|
||
<p>Note that this might be an error prone operation if the
|
||
old/new typeclass was heavily customized - your code
|
||
might expect one and not the other, so be careful to
|
||
bug test your code if using this feature! Often its easiest
|
||
to create a new object and just swap the account over to
|
||
that one instead.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>new_typeclass</strong> (<em>str</em><em> or </em><em>classobj</em>) – Type to switch to.</p></li>
|
||
<li><p><strong>clean_attributes</strong> (<em>bool</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – Will delete all
|
||
attributes stored on this object (but not any of the
|
||
database fields such as name or location). You can’t get
|
||
attributes back, but this is often the safest bet to make
|
||
sure nothing in the new typeclass clashes with the old
|
||
one. If you supply a list, only those named attributes
|
||
will be cleared.</p></li>
|
||
<li><p><strong>run_start_hooks</strong> (<em>str</em><em> or </em><em>None</em><em>, </em><em>optional</em>) – This is either None,
|
||
to not run any hooks, “all” to run all hooks defined by
|
||
at_first_start, or a string with space-separated hook-names to run
|
||
(for example ‘at_object_creation’). This will
|
||
always be called without arguments.</p></li>
|
||
<li><p><strong>no_default</strong> (<em>bool</em><em>, </em><em>optiona</em>) – If set, the swapper will not
|
||
allow for swapping to a default typeclass in case the
|
||
given one fails for some reason. Instead the old one will
|
||
be preserved.</p></li>
|
||
<li><p><strong>clean_cmdsets</strong> (<em>bool</em><em>, </em><em>optional</em>) – Delete all cmdsets on the object.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.tags">
|
||
<span class="sig-name descname"><span class="pre">tags</span></span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.tags"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.tags" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.typeclass_path">
|
||
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">typeclass_path</span></span><a class="headerlink" href="#evennia.scripts.models.TypedObject.typeclass_path" title="Link to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <strong>db_typeclass_path</strong>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.typename">
|
||
<span class="sig-name descname"><span class="pre">typename</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'SharedMemoryModelBase'</span></em><a class="headerlink" href="#evennia.scripts.models.TypedObject.typename" title="Link to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.web_get_admin_url">
|
||
<span class="sig-name descname"><span class="pre">web_get_admin_url</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.web_get_admin_url"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.web_get_admin_url" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for the Django Admin page for this object.</p>
|
||
<p>ex. Account#1 = ‘/admin/accounts/accountdb/1/change/’</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to Django Admin page for object.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.web_get_create_url">
|
||
<em class="property"><span class="k"><span class="pre">classmethod</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">web_get_create_url</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.web_get_create_url"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.web_get_create_url" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to create new
|
||
instances of this object.</p>
|
||
<p>ex. Chargen = ‘/characters/create/’</p>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘character-create’ would be referenced by this method.</p>
|
||
<p>ex.
|
||
url(r’characters/create/’, ChargenView.as_view(), name=’character-create’)</p>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can create new objects is the
|
||
developer’s responsibility.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object creation page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.web_get_delete_url">
|
||
<span class="sig-name descname"><span class="pre">web_get_delete_url</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.web_get_delete_url"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.web_get_delete_url" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to delete this object.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object deletion page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Examples</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Oscar</span> <span class="p">(</span><span class="n">Character</span><span class="p">)</span> <span class="o">=</span> <span class="s1">'/characters/oscar/1/delete/'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>For this to work, the developer must have defined a named view
|
||
somewhere in urls.py that follows the format ‘modelname-action’, so
|
||
in this case a named view of ‘character-detail’ would be referenced
|
||
by this method.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$'</span><span class="p">,</span>
|
||
<span class="n">CharDeleteView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'character-delete'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an HTML
|
||
anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can delete this object is the
|
||
developer’s responsibility.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.web_get_detail_url">
|
||
<span class="sig-name descname"><span class="pre">web_get_detail_url</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.web_get_detail_url"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.web_get_detail_url" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to view details for
|
||
this object.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object detail page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Examples</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Oscar</span> <span class="p">(</span><span class="n">Character</span><span class="p">)</span> <span class="o">=</span> <span class="s1">'/characters/oscar/1/'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘character-detail’ would be referenced by this method.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$'</span><span class="p">,</span>
|
||
<span class="n">CharDetailView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'character-detail'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can view this object is the
|
||
developer’s responsibility.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.web_get_puppet_url">
|
||
<span class="sig-name descname"><span class="pre">web_get_puppet_url</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.web_get_puppet_url"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.web_get_puppet_url" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to puppet a specific
|
||
object.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><em>str</em> – URI path to object puppet page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Examples</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Oscar</span> <span class="p">(</span><span class="n">Character</span><span class="p">)</span> <span class="o">=</span> <span class="s1">'/characters/oscar/1/puppet/'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘character-puppet’ would be referenced by this method.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/puppet/$'</span><span class="p">,</span>
|
||
<span class="n">CharPuppetView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'character-puppet'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can view this object is the developer’s
|
||
responsibility.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.TypedObject.web_get_update_url">
|
||
<span class="sig-name descname"><span class="pre">web_get_update_url</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/typeclasses/models.html#TypedObject.web_get_update_url"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.TypedObject.web_get_update_url" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to update this
|
||
object.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><em>str</em> – URI path to object update page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Examples</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Oscar</span> <span class="p">(</span><span class="n">Character</span><span class="p">)</span> <span class="o">=</span> <span class="s1">'/characters/oscar/1/change/'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘character-update’ would be referenced by this method.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$'</span><span class="p">,</span>
|
||
<span class="n">CharUpdateView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'character-update'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can modify objects is the developer’s
|
||
responsibility.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.dbref">
|
||
<span class="sig-prename descclassname"><span class="pre">evennia.scripts.models.</span></span><span class="sig-name descname"><span class="pre">dbref</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">inp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reqhash</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/utils.html#dbref"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.dbref" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Converts/checks if input is a valid dbref.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>inp</strong> (<em>int</em><em>, </em><em>str</em>) – A database ref on the form N or #N.</p></li>
|
||
<li><p><strong>reqhash</strong> (<em>bool</em><em>, </em><em>optional</em>) – Require the #N form to accept
|
||
input as a valid dbref.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><p><em>dbref (int or None)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>The integer part of the dbref or <strong>None</strong></dt><dd><p>if input was not a valid dbref.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt class="sig sig-object py" id="evennia.scripts.models.to_str">
|
||
<span class="sig-prename descclassname"><span class="pre">evennia.scripts.models.</span></span><span class="sig-name descname"><span class="pre">to_str</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">text</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/utils.html#to_str"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.scripts.models.to_str" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Try to decode a bytestream to a python str, using encoding schemas from settings
|
||
or from Session. Will always return a str(), also if not given a str/bytes.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>text</strong> (<em>any</em>) – The text to encode to bytes. If a str, return it. If also not bytes, convert
|
||
to str using str() or repr() as a fallback.</p></li>
|
||
<li><p><strong>session</strong> (<a class="reference internal" href="evennia.server.session.html#evennia.server.session.Session" title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – A Session to get encoding info from. Will try this before
|
||
falling back to settings.ENCODINGS.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-even"><p><em>decoded_text (str)</em> – The decoded text.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>If <strong>text</strong> is already str, return it as is.</p>
|
||
</dd></dl>
|
||
|
||
</section>
|
||
|
||
|
||
<div class="clearer"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="Main">
|
||
<div class="sphinxsidebarwrapper">
|
||
<p class="logo"><a href="../index.html">
|
||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
|
||
</a></p>
|
||
<search id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="../search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</search>
|
||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">evennia.scripts.models</a><ul>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB"><code class="docutils literal notranslate"><span class="pre">ScriptDB</span></code></a><ul>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_desc"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_desc</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_obj"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_obj</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_account"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_account</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_interval"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_interval</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_start_delay"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_start_delay</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_repeats"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_repeats</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_persistent"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_persistent</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_is_active"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_is_active</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.objects"><code class="docutils literal notranslate"><span class="pre">ScriptDB.objects</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.obj"><code class="docutils literal notranslate"><span class="pre">ScriptDB.obj</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.object"><code class="docutils literal notranslate"><span class="pre">ScriptDB.object</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.DoesNotExist"><code class="docutils literal notranslate"><span class="pre">ScriptDB.DoesNotExist</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.MultipleObjectsReturned"><code class="docutils literal notranslate"><span class="pre">ScriptDB.MultipleObjectsReturned</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.account"><code class="docutils literal notranslate"><span class="pre">ScriptDB.account</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_account_id"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_account_id</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_attributes"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_attributes</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_date_created"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_date_created</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_key"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_key</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_lock_storage"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_lock_storage</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_obj_id"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_obj_id</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_tags"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_tags</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.db_typeclass_path"><code class="docutils literal notranslate"><span class="pre">ScriptDB.db_typeclass_path</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.desc"><code class="docutils literal notranslate"><span class="pre">ScriptDB.desc</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.get_next_by_db_date_created"><code class="docutils literal notranslate"><span class="pre">ScriptDB.get_next_by_db_date_created()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.get_previous_by_db_date_created"><code class="docutils literal notranslate"><span class="pre">ScriptDB.get_previous_by_db_date_created()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.id"><code class="docutils literal notranslate"><span class="pre">ScriptDB.id</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.interval"><code class="docutils literal notranslate"><span class="pre">ScriptDB.interval</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.is_active"><code class="docutils literal notranslate"><span class="pre">ScriptDB.is_active</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.path"><code class="docutils literal notranslate"><span class="pre">ScriptDB.path</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.persistent"><code class="docutils literal notranslate"><span class="pre">ScriptDB.persistent</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.receiver_script_set"><code class="docutils literal notranslate"><span class="pre">ScriptDB.receiver_script_set</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.repeats"><code class="docutils literal notranslate"><span class="pre">ScriptDB.repeats</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.sender_script_set"><code class="docutils literal notranslate"><span class="pre">ScriptDB.sender_script_set</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.start_delay"><code class="docutils literal notranslate"><span class="pre">ScriptDB.start_delay</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDB.typename"><code class="docutils literal notranslate"><span class="pre">ScriptDB.typename</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ObjectDoesNotExist"><code class="docutils literal notranslate"><span class="pre">ObjectDoesNotExist</span></code></a><ul>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ObjectDoesNotExist.silent_variable_failure"><code class="docutils literal notranslate"><span class="pre">ObjectDoesNotExist.silent_variable_failure</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager</span></code></a><ul>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.copy_script"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.copy_script()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.create_script"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.create_script()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.delete_script"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.delete_script()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.get_all_scripts"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.get_all_scripts()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.get_all_scripts_on_obj"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.get_all_scripts_on_obj()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.script_search"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.script_search()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.search_script"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.search_script()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.ScriptDBManager.update_scripts_after_server_start"><code class="docutils literal notranslate"><span class="pre">ScriptDBManager.update_scripts_after_server_start()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject"><code class="docutils literal notranslate"><span class="pre">TypedObject</span></code></a><ul>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.Meta"><code class="docutils literal notranslate"><span class="pre">TypedObject.Meta</span></code></a><ul>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.Meta.abstract"><code class="docutils literal notranslate"><span class="pre">TypedObject.Meta.abstract</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.Meta.ordering"><code class="docutils literal notranslate"><span class="pre">TypedObject.Meta.ordering</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.Meta.verbose_name"><code class="docutils literal notranslate"><span class="pre">TypedObject.Meta.verbose_name</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.__init__"><code class="docutils literal notranslate"><span class="pre">TypedObject.__init__()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.access"><code class="docutils literal notranslate"><span class="pre">TypedObject.access()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.aliases"><code class="docutils literal notranslate"><span class="pre">TypedObject.aliases</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.at_idmapper_flush"><code class="docutils literal notranslate"><span class="pre">TypedObject.at_idmapper_flush()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.at_init"><code class="docutils literal notranslate"><span class="pre">TypedObject.at_init()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.at_rename"><code class="docutils literal notranslate"><span class="pre">TypedObject.at_rename()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.attributes"><code class="docutils literal notranslate"><span class="pre">TypedObject.attributes</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.check_permstring"><code class="docutils literal notranslate"><span class="pre">TypedObject.check_permstring()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.date_created"><code class="docutils literal notranslate"><span class="pre">TypedObject.date_created</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.db"><code class="docutils literal notranslate"><span class="pre">TypedObject.db</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.db_attributes"><code class="docutils literal notranslate"><span class="pre">TypedObject.db_attributes</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.db_date_created"><code class="docutils literal notranslate"><span class="pre">TypedObject.db_date_created</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.db_key"><code class="docutils literal notranslate"><span class="pre">TypedObject.db_key</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.db_lock_storage"><code class="docutils literal notranslate"><span class="pre">TypedObject.db_lock_storage</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.db_tags"><code class="docutils literal notranslate"><span class="pre">TypedObject.db_tags</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.db_typeclass_path"><code class="docutils literal notranslate"><span class="pre">TypedObject.db_typeclass_path</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.dbid"><code class="docutils literal notranslate"><span class="pre">TypedObject.dbid</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.dbref"><code class="docutils literal notranslate"><span class="pre">TypedObject.dbref</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.delete"><code class="docutils literal notranslate"><span class="pre">TypedObject.delete()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.get_absolute_url"><code class="docutils literal notranslate"><span class="pre">TypedObject.get_absolute_url()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.get_display_name"><code class="docutils literal notranslate"><span class="pre">TypedObject.get_display_name()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.get_extra_info"><code class="docutils literal notranslate"><span class="pre">TypedObject.get_extra_info()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.get_next_by_db_date_created"><code class="docutils literal notranslate"><span class="pre">TypedObject.get_next_by_db_date_created()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.get_previous_by_db_date_created"><code class="docutils literal notranslate"><span class="pre">TypedObject.get_previous_by_db_date_created()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.init_evennia_properties"><code class="docutils literal notranslate"><span class="pre">TypedObject.init_evennia_properties()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.is_typeclass"><code class="docutils literal notranslate"><span class="pre">TypedObject.is_typeclass()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.key"><code class="docutils literal notranslate"><span class="pre">TypedObject.key</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.lock_storage"><code class="docutils literal notranslate"><span class="pre">TypedObject.lock_storage</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.locks"><code class="docutils literal notranslate"><span class="pre">TypedObject.locks</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.name"><code class="docutils literal notranslate"><span class="pre">TypedObject.name</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.nattributes"><code class="docutils literal notranslate"><span class="pre">TypedObject.nattributes</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.ndb"><code class="docutils literal notranslate"><span class="pre">TypedObject.ndb</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.objects"><code class="docutils literal notranslate"><span class="pre">TypedObject.objects</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.path"><code class="docutils literal notranslate"><span class="pre">TypedObject.path</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.permissions"><code class="docutils literal notranslate"><span class="pre">TypedObject.permissions</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.search"><code class="docutils literal notranslate"><span class="pre">TypedObject.search()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.set_class_from_typeclass"><code class="docutils literal notranslate"><span class="pre">TypedObject.set_class_from_typeclass()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.swap_typeclass"><code class="docutils literal notranslate"><span class="pre">TypedObject.swap_typeclass()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.tags"><code class="docutils literal notranslate"><span class="pre">TypedObject.tags</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.typeclass_path"><code class="docutils literal notranslate"><span class="pre">TypedObject.typeclass_path</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.typename"><code class="docutils literal notranslate"><span class="pre">TypedObject.typename</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.web_get_admin_url"><code class="docutils literal notranslate"><span class="pre">TypedObject.web_get_admin_url()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.web_get_create_url"><code class="docutils literal notranslate"><span class="pre">TypedObject.web_get_create_url()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.web_get_delete_url"><code class="docutils literal notranslate"><span class="pre">TypedObject.web_get_delete_url()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.web_get_detail_url"><code class="docutils literal notranslate"><span class="pre">TypedObject.web_get_detail_url()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.web_get_puppet_url"><code class="docutils literal notranslate"><span class="pre">TypedObject.web_get_puppet_url()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.TypedObject.web_get_update_url"><code class="docutils literal notranslate"><span class="pre">TypedObject.web_get_update_url()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.dbref"><code class="docutils literal notranslate"><span class="pre">dbref()</span></code></a></li>
|
||
<li><a class="reference internal" href="#evennia.scripts.models.to_str"><code class="docutils literal notranslate"><span class="pre">to_str()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<div>
|
||
<h4>Previous topic</h4>
|
||
<p class="topless"><a href="evennia.scripts.manager.html"
|
||
title="previous chapter">evennia.scripts.manager</a></p>
|
||
</div>
|
||
<div>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="evennia.scripts.monitorhandler.html"
|
||
title="next chapter">evennia.scripts.monitorhandler</a></p>
|
||
</div>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="../_sources/api/evennia.scripts.models.md.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div><h3>Links</h3>
|
||
<ul>
|
||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||
<li>
|
||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||
</li>
|
||
</ul>
|
||
<h3>Doc Versions</h3>
|
||
<ul>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
|
||
</li>
|
||
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="Related">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
>index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.scripts.monitorhandler.html" title="evennia.scripts.monitorhandler"
|
||
>next</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.scripts.manager.html" title="evennia.scripts.manager"
|
||
>previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> »</li>
|
||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-4"><a href="evennia.scripts.html" >evennia.scripts</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.scripts.models</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2024, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
|
||
</div>
|
||
</body>
|
||
</html> |