Updated HTML docs

This commit is contained in:
Griatch 2021-03-27 23:55:23 +01:00
parent db734562d5
commit 500734d214
100 changed files with 6800 additions and 2763 deletions

View file

@ -342,8 +342,8 @@
</li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.evmore.html">evennia.utils.evmore</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.evtable.html">evennia.utils.evtable</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.funcparser.html">evennia.utils.funcparser</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.gametime.html">evennia.utils.gametime</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.inlinefuncs.html">evennia.utils.inlinefuncs</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.logger.html">evennia.utils.logger</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.optionclasses.html">evennia.utils.optionclasses</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.optionhandler.html">evennia.utils.optionhandler</a></li>
@ -359,6 +359,11 @@
<li class="toctree-l4"><a class="reference internal" href="evennia.utils.idmapper.tests.html">evennia.utils.idmapper.tests</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.verb_conjugation.html">evennia.utils.verb_conjugation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="evennia.utils.verb_conjugation.conjugate.html">evennia.utils.verb_conjugation.conjugate</a></li>
<li class="toctree-l4"><a class="reference internal" href="evennia.utils.verb_conjugation.tests.html">evennia.utils.verb_conjugation.tests</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="evennia.web.html">evennia.web</a><ul>

View file

@ -70,7 +70,7 @@ method. Otherwise all text will be returned to all connected sessions.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.account.CmdOOCLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -101,7 +101,7 @@ method. Otherwise all text will be returned to all connected sessions.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.account.CmdOOCLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -254,7 +254,7 @@ to accounts respectively.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.admin.CmdEmit.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['pemit', 'remit']</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['remit', 'pemit']</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -285,7 +285,7 @@ to accounts respectively.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.admin.CmdEmit.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'pemit remit', 'category': 'admin', 'key': 'emit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [&lt;obj&gt;, &lt;obj&gt;, ... =] &lt;message&gt;\n remit [&lt;obj&gt;, &lt;obj&gt;, ... =] &lt;message&gt;\n pemit [&lt;obj&gt;, &lt;obj&gt;, ... =] &lt;message&gt;\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'remit pemit', 'category': 'admin', 'key': 'emit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [&lt;obj&gt;, &lt;obj&gt;, ... =] &lt;message&gt;\n remit [&lt;obj&gt;, &lt;obj&gt;, ... =] &lt;message&gt;\n pemit [&lt;obj&gt;, &lt;obj&gt;, ... =] &lt;message&gt;\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -75,7 +75,7 @@ skipping, reloading etc.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.batchprocess.CmdBatchCommands.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['batchcmd', 'batchcommand']</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['batchcommand', 'batchcmd']</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -106,7 +106,7 @@ skipping, reloading etc.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.batchprocess.CmdBatchCommands.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'batchcmd batchcommand', 'category': 'building', 'key': 'batchcommands', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] &lt;python.path.to.file&gt;\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'batchcommand batchcmd', 'category': 'building', 'key': 'batchcommands', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] &lt;python.path.to.file&gt;\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -529,7 +529,7 @@ You can specify the /force switch to bypass this confirmation.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdDestroy.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['delete', 'del']</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['del', 'delete']</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -570,7 +570,7 @@ You can specify the /force switch to bypass this confirmation.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdDestroy.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'delete del', 'category': 'building', 'key': 'destroy', 'tags': '', 'text': '\n permanently delete objects\n\n Usage:\n destroy[/switches] [obj, obj2, obj3, [dbref-dbref], ...]\n\n Switches:\n override - The destroy command will usually avoid accidentally\n destroying account objects. This switch overrides this safety.\n force - destroy without confirmation.\n Examples:\n destroy house, roof, door, 44-78\n destroy 5-10, flower, 45\n destroy/force north\n\n Destroys one or many objects. If dbrefs are used, a range to delete can be\n given, e.g. 4-10. Also the end points will be deleted. This command\n displays a confirmation before destroying, to make sure of your choice.\n You can specify the /force switch to bypass this confirmation.\n '}</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'del delete', 'category': 'building', 'key': 'destroy', 'tags': '', 'text': '\n permanently delete objects\n\n Usage:\n destroy[/switches] [obj, obj2, obj3, [dbref-dbref], ...]\n\n Switches:\n override - The destroy command will usually avoid accidentally\n destroying account objects. This switch overrides this safety.\n force - destroy without confirmation.\n Examples:\n destroy house, roof, door, 44-78\n destroy 5-10, flower, 45\n destroy/force north\n\n Destroys one or many objects. If dbrefs are used, a range to delete can be\n given, e.g. 4-10. Also the end points will be deleted. This command\n displays a confirmation before destroying, to make sure of your choice.\n You can specify the /force switch to bypass this confirmation.\n '}</em><a class="headerlink" href="#evennia.commands.default.building.CmdDestroy.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -1268,7 +1268,7 @@ server settings.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdTypeclass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['type', 'parent', 'update', 'swap']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['update', 'parent', 'type', 'swap']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -1299,7 +1299,7 @@ server settings.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdTypeclass.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'type parent update swap', 'category': 'building', 'key': 'typeclass', 'tags': '', 'text': &quot;\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] &lt;object&gt; [= typeclass.path]\n typeclass/prototype &lt;object&gt; = prototype_key\n\n typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object.\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'update parent type swap', 'category': 'building', 'key': 'typeclass', 'tags': '', 'text': &quot;\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] &lt;object&gt; [= typeclass.path]\n typeclass/prototype &lt;object&gt; = prototype_key\n\n typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object.\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -1452,7 +1452,7 @@ If object is not specified, the current location is examined.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdExamine.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['ex', 'exam']</em><a class="headerlink" href="#evennia.commands.default.building.CmdExamine.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['exam', 'ex']</em><a class="headerlink" href="#evennia.commands.default.building.CmdExamine.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -1549,7 +1549,7 @@ non-persistent data stored on object</p>
<dl class="py attribute">
<dt id="evennia.commands.default.building.CmdExamine.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ex exam', 'category': 'building', 'key': 'examine', 'tags': '', 'text': '\n get detailed information about an object\n\n Usage:\n examine [&lt;object&gt;[/attrname]]\n examine [*&lt;account&gt;[/attrname]]\n\n Switch:\n account - examine an Account (same as adding *)\n object - examine an Object (useful when OOC)\n\n The examine command shows detailed game info about an\n object and optionally a specific attribute on it.\n If object is not specified, the current location is examined.\n\n Append a * before the search string to examine an account.\n\n '}</em><a class="headerlink" href="#evennia.commands.default.building.CmdExamine.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'exam ex', 'category': 'building', 'key': 'examine', 'tags': '', 'text': '\n get detailed information about an object\n\n Usage:\n examine [&lt;object&gt;[/attrname]]\n examine [*&lt;account&gt;[/attrname]]\n\n Switch:\n account - examine an Account (same as adding *)\n object - examine an Object (useful when OOC)\n\n The examine command shows detailed game info about an\n object and optionally a specific attribute on it.\n If object is not specified, the current location is examined.\n\n Append a * before the search string to examine an account.\n\n '}</em><a class="headerlink" href="#evennia.commands.default.building.CmdExamine.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -121,7 +121,7 @@ for that channel.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDelCom.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['delaliaschan', 'delchanalias']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDelCom.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['delchanalias', 'delaliaschan']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDelCom.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -152,7 +152,7 @@ for that channel.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDelCom.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'delaliaschan delchanalias', 'category': 'comms', 'key': 'delcom', 'tags': '', 'text': &quot;\n remove a channel alias and/or unsubscribe from channel\n\n Usage:\n delcom &lt;alias or channel&gt;\n delcom/all &lt;channel&gt;\n\n If the full channel name is given, unsubscribe from the\n channel. If an alias is given, remove the alias but don't\n unsubscribe. If the 'all' switch is used, remove all aliases\n for that channel.\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDelCom.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'delchanalias delaliaschan', 'category': 'comms', 'key': 'delcom', 'tags': '', 'text': &quot;\n remove a channel alias and/or unsubscribe from channel\n\n Usage:\n delcom &lt;alias or channel&gt;\n delcom/all &lt;channel&gt;\n\n If the full channel name is given, unsubscribe from the\n channel. If an alias is given, remove the alias but don't\n unsubscribe. If the 'all' switch is used, remove all aliases\n for that channel.\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDelCom.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -234,7 +234,7 @@ Use addcom/delcom to join and leave channels</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannels.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['clist', 'comlist', 'channellist', 'all channels', 'chanlist']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['chanlist', 'channellist', 'clist', 'all channels', 'comlist']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -265,7 +265,7 @@ Use addcom/delcom to join and leave channels</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannels.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'clist comlist channellist all channels chanlist', 'category': 'comms', 'key': 'channels', 'tags': '', 'text': &quot;\n list all channels available to you\n\n Usage:\n channels\n clist\n comlist\n\n Lists all channels available to you, whether you listen to them or not.\n Use 'comlist' to only view your current channel subscriptions.\n Use addcom/delcom to join and leave channels\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'chanlist channellist clist all channels comlist', 'category': 'comms', 'key': 'channels', 'tags': '', 'text': &quot;\n list all channels available to you\n\n Usage:\n channels\n clist\n comlist\n\n Lists all channels available to you, whether you listen to them or not.\n Use 'comlist' to only view your current channel subscriptions.\n Use addcom/delcom to join and leave channels\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannels.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -112,7 +112,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -143,7 +143,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look &lt;obj&gt;\n look *&lt;account&gt;\n\n Observes your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look &lt;obj&gt;\n look *&lt;account&gt;\n\n Observes your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -260,7 +260,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdInventory.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['i', 'inv']</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'i']</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -291,7 +291,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdInventory.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdInventory.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -535,7 +535,7 @@ placing it in their inventory.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdSay.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['&quot;', &quot;'&quot;]</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = [&quot;'&quot;, '&quot;']</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -561,7 +561,7 @@ placing it in their inventory.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.general.CmdSay.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '&quot; \'', 'category': 'general', 'key': 'say', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say &lt;message&gt;\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '\' &quot;', 'category': 'general', 'key': 'say', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say &lt;message&gt;\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -385,7 +385,7 @@ given, &lt;nr&gt; defaults to 10.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.system.CmdObjects.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['listobjs', 'db', 'stats', 'listobjects']</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['stats', 'db', 'listobjs', 'listobjects']</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -411,7 +411,7 @@ given, &lt;nr&gt; defaults to 10.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.system.CmdObjects.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'listobjs db stats listobjects', 'category': 'system', 'key': 'objects', 'tags': '', 'text': '\n statistics on objects in the database\n\n Usage:\n objects [&lt;nr&gt;]\n\n Gives statictics on objects in database as well as\n a list of &lt;nr&gt; latest objects in database. If not\n given, &lt;nr&gt; defaults to 10.\n '}</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'stats db listobjs listobjects', 'category': 'system', 'key': 'objects', 'tags': '', 'text': '\n statistics on objects in the database\n\n Usage:\n objects [&lt;nr&gt;]\n\n Gives statictics on objects in database as well as\n a list of &lt;nr&gt; latest objects in database. If not\n given, &lt;nr&gt; defaults to 10.\n '}</em><a class="headerlink" href="#evennia.commands.default.system.CmdObjects.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -59,7 +59,7 @@ connect “account name” “pass word”</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['conn', 'con', 'co']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['co', 'con', 'conn']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -94,7 +94,7 @@ there is no object yet before the account has logged in)</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedConnect.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'conn con co', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect &quot;account name&quot; &quot;pass word&quot;\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'co con conn', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect &quot;account name&quot; &quot;pass word&quot;\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -223,7 +223,7 @@ All it does is display the connect screen.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'look']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['look', 'l']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -249,7 +249,7 @@ All it does is display the connect screen.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'tags': '', 'text': '\n look when in unlogged-in state\n\n Usage:\n look\n\n This is an unconnected version of the look command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'tags': '', 'text': '\n look when in unlogged-in state\n\n Usage:\n look\n\n This is an unconnected version of the look command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -681,7 +681,7 @@ try to influence the other part in the deal.</p>
<dl class="py attribute">
<dt id="evennia.contrib.barter.CmdStatus.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['deal', 'offers']</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['offers', 'deal']</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -707,7 +707,7 @@ try to influence the other part in the deal.</p>
<dl class="py attribute">
<dt id="evennia.contrib.barter.CmdStatus.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'deal offers', 'category': 'trading', 'key': 'status', 'tags': '', 'text': &quot;\n show a list of the current deal\n\n Usage:\n status\n deal\n offers\n\n Shows the currently suggested offers on each sides of the deal. To\n accept the current deal, use the 'accept' command. Use 'offer' to\n change your deal. You might also want to use 'say', 'emote' etc to\n try to influence the other part in the deal.\n &quot;}</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'offers deal', 'category': 'trading', 'key': 'status', 'tags': '', 'text': &quot;\n show a list of the current deal\n\n Usage:\n status\n deal\n offers\n\n Shows the currently suggested offers on each sides of the deal. To\n accept the current deal, use the 'accept' command. Use 'offer' to\n change your deal. You might also want to use 'say', 'emote' etc to\n try to influence the other part in the deal.\n &quot;}</em><a class="headerlink" href="#evennia.contrib.barter.CmdStatus.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -77,7 +77,7 @@ at them with this command.</p>
<dl class="py attribute">
<dt id="evennia.contrib.chargen.CmdOOCLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -109,7 +109,7 @@ that is checked by the &#64;ic command directly.</p>
<dl class="py attribute">
<dt id="evennia.contrib.chargen.CmdOOCLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n ooc look\n\n Usage:\n look\n look &lt;character&gt;\n\n This is an OOC version of the look command. Since an Account doesn\'t\n have an in-game existence, there is no concept of location or\n &quot;self&quot;.\n\n If any characters are available for you to control, you may look\n at them with this command.\n '}</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n ooc look\n\n Usage:\n look\n look &lt;character&gt;\n\n This is an OOC version of the look command. Since an Account doesn\'t\n have an in-game existence, there is no concept of location or\n &quot;self&quot;.\n\n If any characters are available for you to control, you may look\n at them with this command.\n '}</em><a class="headerlink" href="#evennia.contrib.chargen.CmdOOCLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -628,7 +628,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.contrib.clothing.CmdInventory.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['i', 'inv']</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['inv', 'i']</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -659,7 +659,7 @@ inv</p>
<dl class="py attribute">
<dt id="evennia.contrib.clothing.CmdInventory.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'tags': '', 'text': '\n view inventory\n\n Usage:\n inventory\n inv\n\n Shows your inventory.\n '}</em><a class="headerlink" href="#evennia.contrib.clothing.CmdInventory.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -74,7 +74,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedConnect.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['conn', 'con', 'co']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['co', 'con', 'conn']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -104,7 +104,7 @@ there is no object yet before the account has logged in)</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedConnect.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'conn con co', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect &lt;email&gt; &lt;password&gt;\n\n Use the create command to first create an account before logging in.\n '}</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'co con conn', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect &lt;email&gt; &lt;password&gt;\n\n Use the create command to first create an account before logging in.\n '}</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -226,7 +226,7 @@ All it does is display the connect screen.</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'look']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['look', 'l']</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -252,7 +252,7 @@ All it does is display the connect screen.</p>
<dl class="py attribute">
<dt id="evennia.contrib.email_login.CmdUnconnectedLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'tags': '', 'text': '\n This is an unconnected version of the `look` command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'tags': '', 'text': '\n This is an unconnected version of the `look` command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}</em><a class="headerlink" href="#evennia.contrib.email_login.CmdUnconnectedLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -147,7 +147,7 @@ the operation will be general or on the room.</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdGiveUp.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['abort', 'chicken out', 'quit', 'q']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGiveUp.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['q', 'quit', 'abort', 'chicken out']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGiveUp.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
@ -171,7 +171,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdGiveUp.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'abort chicken out quit q', 'category': 'evscaperoom', 'key': 'give up', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGiveUp.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'q quit abort chicken out', 'category': 'evscaperoom', 'key': 'give up', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGiveUp.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -192,7 +192,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -226,7 +226,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'evscaperoom', 'key': 'look', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'evscaperoom', 'key': 'look', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -364,7 +364,7 @@ emote /me points to /box and /lever.</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdEmote.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['pose', ':']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdEmote.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = [':', 'pose']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdEmote.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -403,7 +403,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdEmote.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'pose :', 'category': 'general', 'key': 'emote', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use &quot;...&quot; to enact speech.\n\n Usage:\n emote &lt;emote&gt;\n :&lt;emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdEmote.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': ': pose', 'category': 'general', 'key': 'emote', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use &quot;...&quot; to enact speech.\n\n Usage:\n emote &lt;emote&gt;\n :&lt;emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdEmote.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -426,7 +426,7 @@ looks and what actions is available.</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdFocus.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['ex', 'e', 'examine', 'unfocus']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdFocus.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['examine', 'ex', 'unfocus', 'e']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdFocus.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -455,7 +455,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdFocus.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ex e examine unfocus', 'category': 'evscaperoom', 'key': 'focus', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus &lt;obj&gt;\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdFocus.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'examine ex unfocus e', 'category': 'evscaperoom', 'key': 'focus', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus &lt;obj&gt;\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdFocus.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -517,7 +517,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdGet.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['give', 'inventory', 'i', 'inv']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGet.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['i', 'inv', 'inventory', 'give']</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGet.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
@ -541,7 +541,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.evscaperoom.commands.CmdGet.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'give inventory i inv', 'category': 'evscaperoom', 'key': 'get', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGet.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'i inv inventory give', 'category': 'evscaperoom', 'key': 'get', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}</em><a class="headerlink" href="#evennia.contrib.evscaperoom.commands.CmdGet.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -276,7 +276,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.contrib.extended_room.CmdExtendedRoomLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -296,7 +296,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a>&lt;account&g
<dl class="py attribute">
<dt id="evennia.contrib.extended_room.CmdExtendedRoomLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look &lt;obj&gt;\n look &lt;room detail&gt;\n look *&lt;account&gt;\n\n Observes your location, details at your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look &lt;obj&gt;\n look &lt;room detail&gt;\n look *&lt;account&gt;\n\n Observes your location, details at your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.contrib.extended_room.CmdExtendedRoomLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -52,7 +52,7 @@
<dl class="py attribute">
<dt id="evennia.contrib.ingame_python.commands.CmdCallback.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;calls', '&#64;callback', '&#64;callbacks']</em><a class="headerlink" href="#evennia.contrib.ingame_python.commands.CmdCallback.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;callback', '&#64;calls', '&#64;callbacks']</em><a class="headerlink" href="#evennia.contrib.ingame_python.commands.CmdCallback.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -133,7 +133,7 @@ on user permission.</p>
<dl class="py attribute">
<dt id="evennia.contrib.ingame_python.commands.CmdCallback.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '&#64;calls &#64;callback &#64;callbacks', 'category': 'building', 'key': '&#64;call', 'tags': '', 'text': '\n Command to edit callbacks.\n '}</em><a class="headerlink" href="#evennia.contrib.ingame_python.commands.CmdCallback.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '&#64;callback &#64;calls &#64;callbacks', 'category': 'building', 'key': '&#64;call', 'tags': '', 'text': '\n Command to edit callbacks.\n '}</em><a class="headerlink" href="#evennia.contrib.ingame_python.commands.CmdCallback.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -636,7 +636,7 @@ a different language.</p>
<dl class="py attribute">
<dt id="evennia.contrib.rpsystem.CmdSay.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['&quot;', &quot;'&quot;]</em><a class="headerlink" href="#evennia.contrib.rpsystem.CmdSay.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = [&quot;'&quot;, '&quot;']</em><a class="headerlink" href="#evennia.contrib.rpsystem.CmdSay.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -662,7 +662,7 @@ a different language.</p>
<dl class="py attribute">
<dt id="evennia.contrib.rpsystem.CmdSay.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '&quot; \'', 'category': 'general', 'key': 'say', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say &lt;message&gt;\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.contrib.rpsystem.CmdSay.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '\' &quot;', 'category': 'general', 'key': 'say', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say &lt;message&gt;\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.contrib.rpsystem.CmdSay.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -570,7 +570,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_basic.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_basic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_basic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -591,7 +591,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_basic.CmdPass.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_basic.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_basic.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -687,7 +687,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_equip.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_equip.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_equip.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -708,7 +708,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_equip.CmdPass.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_equip.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_equip.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -721,7 +721,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_items.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_items.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_items.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -742,7 +742,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_items.CmdPass.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_items.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_items.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -593,7 +593,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_magic.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_magic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_magic.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -614,7 +614,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_magic.CmdPass.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_magic.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_magic.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -1020,7 +1020,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_range.CmdPass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_range.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_range.CmdPass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -1041,7 +1041,7 @@ if there are still any actions you can take.</p>
<dl class="py attribute">
<dt id="evennia.contrib.turnbattle.tb_range.CmdPass.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_range.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.turnbattle.tb_range.CmdPass.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -79,7 +79,7 @@ such as when closing the lid and un-blinding a character.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['press button', 'press', 'push']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['push', 'press', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -108,7 +108,7 @@ check if the lid is open or closed.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'press button press push', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -178,7 +178,7 @@ check if the lid is open or closed.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdSmashGlass.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['break lid', 'smash', 'smash lid']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdSmashGlass.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['smash lid', 'smash', 'break lid']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdSmashGlass.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -205,7 +205,7 @@ break.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdSmashGlass.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'break lid smash smash lid', 'category': 'general', 'key': 'smash glass', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdSmashGlass.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'smash lid smash break lid', 'category': 'general', 'key': 'smash glass', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdSmashGlass.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -305,7 +305,7 @@ be mutually exclusive.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['press button', 'press', 'push']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['push', 'press', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -334,7 +334,7 @@ set in self.parse())</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'press button press push', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -432,7 +432,7 @@ be mutually exclusive.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdBlindLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'feel', 'get', 'examine', 'ex', 'listen']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdBlindLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['examine', 'get', 'ex', 'listen', 'feel', 'l']</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdBlindLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -458,7 +458,7 @@ be mutually exclusive.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_examples.red_button.CmdBlindLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l feel get examine ex listen', 'category': 'general', 'key': 'look', 'tags': '', 'text': &quot;\n Looking around in darkness\n\n Usage:\n look &lt;obj&gt;\n\n ... not that there's much to see in the dark.\n\n &quot;}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdBlindLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'examine get ex listen feel l', 'category': 'general', 'key': 'look', 'tags': '', 'text': &quot;\n Looking around in darkness\n\n Usage:\n look &lt;obj&gt;\n\n ... not that there's much to see in the dark.\n\n &quot;}</em><a class="headerlink" href="#evennia.contrib.tutorial_examples.red_button.CmdBlindLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -492,7 +492,7 @@ shift green root up/down</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdShiftRoot.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['pull', 'move', 'shiftroot', 'push']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdShiftRoot.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['pull', 'push', 'move', 'shiftroot']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdShiftRoot.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -528,7 +528,7 @@ yellow/green - horizontal roots</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdShiftRoot.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'pull move shiftroot push', 'category': 'tutorialworld', 'key': 'shift', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdShiftRoot.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'pull push move shiftroot', 'category': 'tutorialworld', 'key': 'shift', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdShiftRoot.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -545,7 +545,7 @@ yellow/green - horizontal roots</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdPressButton.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['button', 'push button', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdPressButton.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['push button', 'button', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdPressButton.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -571,7 +571,7 @@ yellow/green - horizontal roots</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdPressButton.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'button push button press button', 'category': 'tutorialworld', 'key': 'press', 'tags': '', 'text': '\n Presses a button.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdPressButton.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'push button button press button', 'category': 'tutorialworld', 'key': 'press', 'tags': '', 'text': '\n Presses a button.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdPressButton.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -715,7 +715,7 @@ parry - forgoes your attack but will make you harder to hit on next</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdAttack.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['hit', 'thrust', 'kill', 'chop', 'parry', 'bash', 'slash', 'stab', 'defend', 'pierce', 'fight']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdAttack.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['parry', 'bash', 'slash', 'defend', 'thrust', 'chop', 'kill', 'stab', 'fight', 'hit', 'pierce']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdAttack.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -741,7 +741,7 @@ parry - forgoes your attack but will make you harder to hit on next</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.objects.CmdAttack.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hit thrust kill chop parry bash slash stab defend pierce fight', 'category': 'tutorialworld', 'key': 'attack', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab &lt;enemy&gt;\n slash &lt;enemy&gt;\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdAttack.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'parry bash slash defend thrust chop kill stab fight hit pierce', 'category': 'tutorialworld', 'key': 'attack', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab &lt;enemy&gt;\n slash &lt;enemy&gt;\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.objects.CmdAttack.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -184,7 +184,7 @@ code except for adding in the details.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.rooms.CmdTutorialLook.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdTutorialLook.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdTutorialLook.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -199,7 +199,7 @@ code except for adding in the details.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.rooms.CmdTutorialLook.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'tutorialworld', 'key': 'look', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look &lt;obj&gt;\n look &lt;room detail&gt;\n look *&lt;account&gt;\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at &quot;details&quot; in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdTutorialLook.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'tutorialworld', 'key': 'look', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look &lt;obj&gt;\n look &lt;room detail&gt;\n look *&lt;account&gt;\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at &quot;details&quot; in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdTutorialLook.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
@ -865,7 +865,7 @@ to find something.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.rooms.CmdLookDark.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'feel', 'search', 'fiddle', 'feel around']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdLookDark.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['fiddle', 'feel', 'l', 'search', 'feel around']</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdLookDark.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -893,7 +893,7 @@ random chance of eventually finding a light source.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorial_world.rooms.CmdLookDark.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l feel search fiddle feel around', 'category': 'tutorialworld', 'key': 'look', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdLookDark.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'fiddle feel l search feel around', 'category': 'tutorialworld', 'key': 'look', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorial_world.rooms.CmdLookDark.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -439,8 +439,8 @@ with q, remove the break line and restart server when finished.</p></li>
</li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.evmore.html">evennia.utils.evmore</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.evtable.html">evennia.utils.evtable</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.funcparser.html">evennia.utils.funcparser</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.gametime.html">evennia.utils.gametime</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.inlinefuncs.html">evennia.utils.inlinefuncs</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.logger.html">evennia.utils.logger</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.optionclasses.html">evennia.utils.optionclasses</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.optionhandler.html">evennia.utils.optionhandler</a></li>
@ -456,6 +456,11 @@ with q, remove the break line and restart server when finished.</p></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.idmapper.tests.html">evennia.utils.idmapper.tests</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.verb_conjugation.html">evennia.utils.verb_conjugation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.verb_conjugation.conjugate.html">evennia.utils.verb_conjugation.conjugate</a></li>
<li class="toctree-l3"><a class="reference internal" href="evennia.utils.verb_conjugation.tests.html">evennia.utils.verb_conjugation.tests</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="evennia.web.html">evennia.web</a><ul>

View file

@ -547,47 +547,66 @@ function on.</p></li>
<li><p><strong>text</strong> (<em>str</em><em> or </em><em>tuple</em>) Message to send. If a tuple, this should be
on the valid OOB outmessage form <strong>(message, {kwargs})</strong>,
where kwargs are optional data passed to the <strong>text</strong>
outputfunc.</p></li>
outputfunc. The message will be parsed for <strong>{key}</strong> formatting and
<strong>$You/$you()/$You(key)</strong> and <strong>$conj(verb)</strong> inline function callables.
The <strong>key</strong> is taken from the <strong>mapping</strong> kwarg {“key”: object, …}**.
The <strong>mapping[key].get_display_name(looker=recipient)</strong> will be called
for that key for every recipient of the string.</p></li>
<li><p><strong>exclude</strong> (<em>list</em><em>, </em><em>optional</em>) A list of objects not to send to.</p></li>
<li><p><strong>from_obj</strong> (<em>Object</em><em>, </em><em>optional</em>) An object designated as the
“sender” of the message. See <strong>DefaultObject.msg()</strong> for
more info.</p></li>
<li><p><strong>mapping</strong> (<em>dict</em><em>, </em><em>optional</em>) A mapping of formatting keys
<strong>{“key”:&lt;object&gt;, “key2”:&lt;object2&gt;,…}. The keys
must match **{key}</strong> markers in the <strong>text</strong> if this is a string or
in the internal <strong>message</strong> if <strong>text</strong> is a tuple. These
formatting statements will be
replaced by the return of <strong>&lt;object&gt;.get_display_name(looker)</strong>
for every looker in contents that receives the
message. This allows for every object to potentially
get its own customized string.</p></li>
</ul>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><ul class="simple">
<li><p><strong>arguments will be passed on to obj.msg</strong><strong>(</strong><strong>) </strong><strong>for all</strong> (<em>Keyword</em>) </p></li>
<li><p><strong>objects.</strong> (<em>messaged</em>) </p></li>
<strong>{“key”:&lt;object&gt;, “key2”:&lt;object2&gt;,…}.
The keys must either match **{key}</strong> or <strong>$You(key)/$you(key)</strong> markers
in the <strong>text</strong> string. If <strong>&lt;object&gt;</strong> doesnt have a <strong>get_display_name</strong>
method, it will be returned as a string. If not set, a key <strong>you</strong> will
be auto-added to point to <strong>from_obj</strong> if given, otherwise to <strong>self</strong>.</p></li>
<li><p><strong>**kwargs</strong> Keyword arguments will be passed on to <strong>obj.msg()</strong> for all
messaged objects.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>The <strong>mapping</strong> argument is required if <strong>message</strong> contains
{}-style format syntax. The keys of <strong>mapping</strong> should match
named format tokens, and its values will have their
<strong>get_display_name()</strong> function called for each object in
the room before substitution. If an item in the mapping does
not have <strong>get_display_name()</strong>, its string value will be used.</p>
<p class="rubric">Example</p>
<p>Say Char is a Character object and Npc is an NPC object:</p>
<dl class="simple">
<dt>char.location.msg_contents(</dt><dd><p>“{attacker} kicks {defender}”,
mapping=dict(attacker=char, defender=npc), exclude=(char, npc))</p>
</dd>
</dl>
<p>This will result in everyone in the room seeing Char kicks NPC
where everyone may potentially see different results for Char and Npc
depending on the results of <strong>char.get_display_name(looker)</strong> and
<strong>npc.get_display_name(looker)</strong> for each particular onlooker</p>
<p>For actor-stance reporting (You say/Name says), use the
<strong>$You()/$you()/$You(key)</strong> and <strong>$conj(verb)</strong> (verb-conjugation)
inline callables. This will use the respective <strong>get_display_name()</strong>
for all onlookers except for <strong>from_obj or self</strong>, which will become
You/you. If you use <strong>$You/you(key)</strong>, the key must be in <strong>mapping</strong>.</p>
<p>For director-stance reporting (Name says/Name says), use {key}
syntax directly. For both <strong>{key}</strong> and <strong>You/you(key)</strong>,
<strong>mapping[key].get_display_name(looker=recipient)</strong> may be called
depending on who the recipient is.</p>
<p class="rubric">Examples</p>
<p>Lets assume
- <strong>player1.key -&gt; “Player1”</strong>,</p>
<blockquote>
<div><p><strong>player1.get_display_name(looker=player2) -&gt; “The First girl”</strong></p>
</div></blockquote>
<ul class="simple">
<li><p><strong>player2.key -&gt; “Player2”</strong>,
<strong>player2.get_display_name(looker=player1) -&gt; “The Second girl”</strong></p></li>
</ul>
<p>Actor-stance:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">char</span><span class="o">.</span><span class="n">location</span><span class="o">.</span><span class="n">msg_contents</span><span class="p">(</span>
<span class="s2">&quot;$You() $conj(attack) $you(defender).&quot;</span><span class="p">,</span>
<span class="n">mapping</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;defender&quot;</span><span class="p">:</span> <span class="n">player2</span><span class="p">})</span>
</pre></div>
</div>
<ul class="simple">
<li><p>player1 will see <strong>You attack The Second girl.</strong></p></li>
<li><p>player2 will see The First girl attacks you.</p></li>
</ul>
<p>Director-stance:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">char</span><span class="o">.</span><span class="n">location</span><span class="o">.</span><span class="n">msg_contents</span><span class="p">(</span>
<span class="s2">&quot;</span><span class="si">{attacker}</span><span class="s2"> attacks </span><span class="si">{defender}</span><span class="s2">.&quot;</span><span class="p">,</span>
<span class="n">mapping</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;attacker:player1, &quot;</span><span class="n">defender</span><span class="s2">&quot;:player2})</span>
</pre></div>
</div>
<ul class="simple">
<li><p>player1 will see: Player1 attacks The Second girl.</p></li>
<li><p>player2 will see: The First girl attacks Player2</p></li>
</ul>
</dd></dl>
<dl class="py method">

View file

@ -39,188 +39,43 @@
<div class="section" id="module-evennia.prototypes.protfuncs">
<span id="evennia-prototypes-protfuncs"></span><h1>evennia.prototypes.protfuncs<a class="headerlink" href="#module-evennia.prototypes.protfuncs" title="Permalink to this headline"></a></h1>
<p>Protfuncs are function-strings embedded in a prototype and allows for a builder to create a
prototype with custom logics without having access to Python. The Protfunc is parsed using the
inlinefunc parser but is fired at the moment the spawning happens, using the creating objects
session as input.</p>
<p>Protfuncs are FuncParser-callables that can be embedded in a prototype to
provide custom logic without having access to Python. The protfunc is parsed at
the time of spawning, using the creating objects session as input. If the
protfunc returns a non-string, this is what will be added to the prototype.</p>
<p>In the prototype dict, the protfunc is specified as a string inside the prototype, e.g.:</p>
<blockquote>
<div><p>{ …</p>
<p>“key”: “$funcname(arg1, arg2, …)”</p>
<p>“key”: “$funcname(args, kwargs)”</p>
<p>… }</p>
</div></blockquote>
<p>and multiple functions can be nested (no keyword args are supported). The result will be used as the
value for that prototype key for that individual spawn.</p>
<p>Available protfuncs are callables in one of the modules of <strong>settings.PROT_FUNC_MODULES</strong>. They
are specified as functions</p>
<p>Available protfuncs are either all callables in one of the modules of <strong>settings.PROT_FUNC_MODULES</strong>
or all callables added to a dict FUNCPARSER_CALLABLES in such a module.</p>
<blockquote>
<div><p>def funcname (<a href="#id1"><span class="problematic" id="id2">*</span></a>args, <a href="#id3"><span class="problematic" id="id4">**</span></a>kwargs)</p>
</div></blockquote>
<p>where <a href="#id5"><span class="problematic" id="id6">*</span></a>args are the arguments given in the prototype, and <a href="#id7"><span class="problematic" id="id8">**</span></a>kwargs are inserted by Evennia:</p>
<p>At spawn-time the spawner passes the following extra kwargs into each callable (in addition to
what is added in the call itself):</p>
<blockquote>
<div><ul class="simple">
<li><p>session (Session): The Session of the entity spawning using this prototype.</p></li>
<li><p>prototype (dict): The dict this protfunc is a part of.</p></li>
<li><p>current_key (str): The active key this value belongs to in the prototype.</p></li>
<li><dl class="simple">
<dt>testing (bool): This is set if this function is called as part of the prototype validation; if</dt><dd><p>set, the protfunc should take care not to perform any persistent actions, such as operate on
objects or add things to the database.</p>
</dd>
</dl>
</li>
</ul>
</div></blockquote>
<p>Any traceback raised by this function will be handled at the time of spawning and abort the spawn
before any object is created/updated. It must otherwise return the value to store for the specified
prototype key (this value must be possible to serialize in an Attribute).</p>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.base_random">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">base_random</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.prototypes.protfuncs.base_random" title="Permalink to this definition"></a></dt>
<dd><p>random() -&gt; x in the interval [0, 1).</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.random">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">random</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#random"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.random" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $random()
Returns a random value in the interval [0, 1)</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.randint">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">randint</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#randint"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.randint" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $randint(start, end)
Returns random integer in interval [start, end]</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.left_justify">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">left_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#left_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.left_justify" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $left_justify(&lt;text&gt;)
Returns &lt;text&gt; left-justified.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.right_justify">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">right_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#right_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.right_justify" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $right_justify(&lt;text&gt;)
Returns &lt;text&gt; right-justified across screen width.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.center_justify">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">center_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#center_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.center_justify" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $center_justify(&lt;text&gt;)
Returns &lt;text&gt; centered in screen width.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.choice">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">choice</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#choice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.choice" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $choice(val, val, val, …)
Returns one of the values randomly</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.full_justify">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">full_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#full_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.full_justify" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $full_justify(&lt;text&gt;)
Returns &lt;text&gt; filling up screen width by adding extra space.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.protkey">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">protkey</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#protkey"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.protkey" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $protkey(&lt;key&gt;)
<dt id="evennia.prototypes.protfuncs.protfunc_callable_protkey">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">protfunc_callable_protkey</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#protfunc_callable_protkey"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.protfunc_callable_protkey" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $protkey(keyname)
Returns the value of another key in this prototoype. Will raise an error if</p>
<blockquote>
<div><p>the key is not found in this prototype.</p>
</div></blockquote>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.add">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">add</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.add" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $add(val1, val2)
Returns the result of val1 + val2. Values must be</p>
<blockquote>
<div><p>valid simple Python structures possible to add,
such as numbers, lists etc.</p>
</div></blockquote>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.sub">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">sub</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#sub"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.sub" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $del(val1, val2)
Returns the value of val1 - val2. Values must be</p>
<blockquote>
<div><p>valid simple Python structures possible to
subtract.</p>
</div></blockquote>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.mult">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">mult</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#mult"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.mult" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $mul(val1, val2)
Returns the value of val1 * val2. The values must be</p>
<blockquote>
<div><p>valid simple Python structures possible to
multiply, like strings and/or numbers.</p>
</div></blockquote>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.div">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">div</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#div"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.div" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $div(val1, val2)
Returns the value of val1 / val2. Values must be numbers and</p>
<blockquote>
<div><p>the result is always a float.</p>
</div></blockquote>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.toint">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">toint</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#toint"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.toint" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $toint(&lt;number&gt;)
Returns &lt;number&gt; as an integer.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.eval">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">eval</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#eval"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.eval" title="Permalink to this definition"></a></dt>
<dd><p>Usage $eval(&lt;expression&gt;)
Returns evaluation of a simple Python expression. The string may <em>only</em> consist of the following</p>
<blockquote>
<div><p>Python literal structures: strings, numbers, tuples, lists, dicts, booleans,
and None. The strings can also contain #dbrefs. Escape embedded protfuncs as $$protfunc(..)
- those will then be evaluated <em>after</em> $eval.</p>
</div></blockquote>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.obj">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">obj</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#obj"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.obj" title="Permalink to this definition"></a></dt>
<dd><p>Usage $obj(&lt;query&gt;)
Returns one Object searched globally by key, alias or #dbref. Error if more than one.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.objlist">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">objlist</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#objlist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.objlist" title="Permalink to this definition"></a></dt>
<dd><p>Usage $objlist(&lt;query&gt;)
Returns list with one or more Objects searched globally by key, alias or #dbref.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.prototypes.protfuncs.dbref">
<code class="sig-prename descclassname">evennia.prototypes.protfuncs.</code><code class="sig-name descname">dbref</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/protfuncs.html#dbref"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.protfuncs.dbref" title="Permalink to this definition"></a></dt>
<dd><p>Usage $dbref(&lt;#dbref&gt;)
Validate that a #dbref input is valid.</p>
</dd></dl>
</div>

View file

@ -340,7 +340,7 @@ with (it may still be useful as a mix-in prototype).</p></li>
<dl class="py function">
<dt id="evennia.prototypes.prototypes.protfunc_parser">
<code class="sig-prename descclassname">evennia.prototypes.prototypes.</code><code class="sig-name descname">protfunc_parser</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">value</span></em>, <em class="sig-param"><span class="n">available_functions</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">testing</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">stacktrace</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/prototypes.html#protfunc_parser"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.prototypes.protfunc_parser" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">evennia.prototypes.prototypes.</code><code class="sig-name descname">protfunc_parser</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">value</span></em>, <em class="sig-param"><span class="n">available_functions</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">testing</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">stacktrace</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/prototypes.html#protfunc_parser"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.prototypes.protfunc_parser" title="Permalink to this definition"></a></dt>
<dd><p>Parse a prototype value string for a protfunc and process it.</p>
<p>Available protfuncs are specified as callables in one of the modules of
<strong>settings.PROTFUNC_MODULES</strong>, or specified on the command line.</p>
@ -351,8 +351,6 @@ with (it may still be useful as a mix-in prototype).</p></li>
protfuncs, all other types are returned as-is.</p></li>
<li><p><strong>available_functions</strong> (<em>dict</em><em>, </em><em>optional</em>) Mapping of name:protfunction to use for this parsing.
If not set, use default sources.</p></li>
<li><p><strong>testing</strong> (<em>bool</em><em>, </em><em>optional</em>) Passed to protfunc. If in a testing mode, some protfuncs may
behave differently.</p></li>
<li><p><strong>stacktrace</strong> (<em>bool</em><em>, </em><em>optional</em>) If set, print the stack parsing process of the protfunc-parser.</p></li>
</ul>
</dd>
@ -361,22 +359,15 @@ behave differently.</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>) Passed to protfunc. Session of the entity spawning the prototype.</p></li>
<li><p><strong>protototype</strong> (<em>dict</em>) Passed to protfunc. The dict this protfunc is a part of.</p></li>
<li><p><strong>current_key</strong> (<em>str</em>) Passed to protfunc. The key in the prototype that will hold this value.</p></li>
<li><p><strong>caller</strong> (<em>Object</em><em> or </em><em>Account</em>) This is necessary for certain protfuncs that perform object
searches and have to check permissions.</p></li>
<li><p><strong>any</strong> (<em>any</em>) Passed on to the protfunc.</p></li>
</ul>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><p><em>testresult (tuple)</em> </p>
<dl class="simple">
<dt>If <strong>testing</strong> is set, returns a tuple (error, result) where error is</dt><dd><p>either None or a string detailing the error from protfunc_parser or seen when trying to
run <strong>literal_eval</strong> on the parsed string.</p>
</dd>
<dt>any (any): A structure to replace the string on the prototype level. If this is a</dt><dd><p>callable or a (callable, (args,)) structure, it will be executed as if one had supplied
it to the prototype directly. This structure is also passed through literal_eval so one
can get actual Python primitives out of it (not just strings). It will also identify
eventual object #dbrefs in the output from the protfunc.</p>
</dd>
</dl>
</p>
<dd class="field-odd"><p><em>any</em> A structure to replace the string on the prototype leve. Note
that FunctionParser functions $funcname(<a href="#id1"><span class="problematic" id="id2">*</span></a>args, <a href="#id3"><span class="problematic" id="id4">**</span></a>kwargs) can return any
data type to insert into the prototype.</p>
</dd>
</dl>
</dd></dl>
@ -423,18 +414,22 @@ eventual object #dbrefs in the output from the protfunc.</p>
<dl class="py function">
<dt id="evennia.prototypes.prototypes.init_spawn_value">
<code class="sig-prename descclassname">evennia.prototypes.prototypes.</code><code class="sig-name descname">init_spawn_value</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">value</span></em>, <em class="sig-param"><span class="n">validator</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/prototypes.html#init_spawn_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.prototypes.init_spawn_value" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">evennia.prototypes.prototypes.</code><code class="sig-name descname">init_spawn_value</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">value</span></em>, <em class="sig-param"><span class="n">validator</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/prototypes.html#init_spawn_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.prototypes.init_spawn_value" title="Permalink to this definition"></a></dt>
<dd><p>Analyze the prototype value and produce a value useful at the point of spawning.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>value</strong> (<em>any</em>) <p>This can be:
callable - will be called as callable()
(callable, (args,)) - will be called as callable(<a href="#id1"><span class="problematic" id="id2">*</span></a>args)
(callable, (args,)) - will be called as callable(<a href="#id5"><span class="problematic" id="id6">*</span></a>args)
other - will be assigned depending on the variable type
validator (callable, optional): If given, this will be called with the value to</p>
<blockquote>
<div><p>check and guarantee the outcome is of a given type.</p>
</div></blockquote>
<dl class="simple">
<dt>caller (Object or Account): This is necessary for certain protfuncs that perform object</dt><dd><p>searches and have to check permissions.</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-even">Returns</dt>

View file

@ -349,7 +349,7 @@ of the olc _format_diff_text_and_options without the options.</p>
<dl class="py function">
<dt id="evennia.prototypes.spawner.batch_update_objects_with_prototype">
<code class="sig-prename descclassname">evennia.prototypes.spawner.</code><code class="sig-name descname">batch_update_objects_with_prototype</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">prototype</span></em>, <em class="sig-param"><span class="n">diff</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">objects</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">exact</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/spawner.html#batch_update_objects_with_prototype"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.spawner.batch_update_objects_with_prototype" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">evennia.prototypes.spawner.</code><code class="sig-name descname">batch_update_objects_with_prototype</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">prototype</span></em>, <em class="sig-param"><span class="n">diff</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">objects</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">exact</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/spawner.html#batch_update_objects_with_prototype"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.spawner.batch_update_objects_with_prototype" title="Permalink to this definition"></a></dt>
<dd><p>Update existing objects with the latest version of the prototype.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -366,6 +366,7 @@ expected - for example, one usually do not want to remove the objects locatio
if its not set in the prototype. With <strong>exact=True</strong>, all un-specified properties of the
objects will be removed if they exist. This will lead to a more accurate 1:1 correlation
between the object and the prototype but is usually impractical.</p></li>
<li><p><strong>caller</strong> (<em>Object</em><em> or </em><em>Account</em><em>, </em><em>optional</em>) This may be used by protfuncs to do permission checks.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
@ -435,7 +436,7 @@ unprivileged users!</p>
<dl class="py function">
<dt id="evennia.prototypes.spawner.spawn">
<code class="sig-prename descclassname">evennia.prototypes.spawner.</code><code class="sig-name descname">spawn</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">prototypes</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/spawner.html#spawn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.spawner.spawn" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">evennia.prototypes.spawner.</code><code class="sig-name descname">spawn</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">prototypes</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/prototypes/spawner.html#spawn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.prototypes.spawner.spawn" title="Permalink to this definition"></a></dt>
<dd><p>Spawn a number of prototyped objects.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -445,6 +446,7 @@ dictionary. These will be batched-spawned as one object each.</p>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><ul class="simple">
<li><p><strong>caller</strong> (<em>Object</em><em> or </em><em>Account</em><em>, </em><em>optional</em>) This may be used by protfuncs to do access checks.</p></li>
<li><p><strong>prototype_modules</strong> (<em>str</em><em> or </em><a class="reference internal" href="evennia.contrib.barter.html#evennia.contrib.barter.TradeHandler.list" title="evennia.contrib.barter.TradeHandler.list"><em>list</em></a>) A python-path to a prototype
module, or a list of such paths. These will be used to build
the global protparents dictionary accessible by the input

View file

@ -114,7 +114,8 @@ sessions in store.</p>
<dl class="py method">
<dt id="evennia.server.sessionhandler.SessionHandler.clean_senddata">
<code class="sig-name descname">clean_senddata</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">session</span></em>, <em class="sig-param"><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/sessionhandler.html#SessionHandler.clean_senddata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.sessionhandler.SessionHandler.clean_senddata" title="Permalink to this definition"></a></dt>
<dd><p>Clean up data for sending across the AMP wire. Also apply INLINEFUNCS.</p>
<dd><p>Clean up data for sending across the AMP wire. Also apply the
FuncParser using callables from <strong>settings.FUNCPARSER_OUTGOING_MESSAGES_MODULES</strong>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -131,7 +132,7 @@ keyword are:
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>kwargs (dict)</em> A cleaned dictionary of cmdname:[[args],{kwargs}] pairs,
where the keys, args and kwargs have all been converted to
send-safe entities (strings or numbers), and inlinefuncs have been
send-safe entities (strings or numbers), and funcparser parsing has been
applied.</p>
</dd>
</dl>

View file

@ -274,7 +274,7 @@ indentation.</p>
<dl class="py attribute">
<dt id="evennia.utils.eveditor.CmdEditorGroup.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = [':x', ':q', ':wq', ':y', ':f', ':s', ':::', ':I', ':', ':dw', ':A', ':fi', ':dd', ':h', ':S', ':uu', ':=', ':u', '::', ':j', ':DD', ':q!', ':w', ':UU', ':&gt;', ':fd', ':i', ':r', ':&lt;', ':echo', ':p', ':!']</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = [':fd', ':&gt;', ':&lt;', ':=', ':i', ':u', ':uu', ':p', ':y', ':!', ':dw', ':r', ':dd', ':f', '::', ':echo', ':I', ':q!', ':w', ':', ':A', ':s', ':q', ':DD', ':h', ':S', ':j', ':UU', ':fi', ':wq', ':x', ':::']</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -302,7 +302,7 @@ efficient presentation.</p>
<dl class="py attribute">
<dt id="evennia.utils.eveditor.CmdEditorGroup.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': ':x :q :wq :y :f :s ::: :I : :dw :A :fi :dd :h :S :uu := :u :: :j :DD :q! :w :UU :&gt; :fd :i :r :&lt; :echo :p :!', 'category': 'general', 'key': ':editor_command_group', 'tags': '', 'text': '\n Commands for the editor\n '}</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': ':fd :&gt; :&lt; := :i :u :uu :p :y :! :dw :r :dd :f :: :echo :I :q! :w : :A :s :q :DD :h :S :j :UU :fi :wq :x :::', 'category': 'general', 'key': ':editor_command_group', 'tags': '', 'text': '\n Commands for the editor\n '}</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -75,7 +75,7 @@ the <strong>caller.msg()</strong> construct every time the page is updated.</p>
<dl class="py attribute">
<dt id="evennia.utils.evmore.CmdMore.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['t', 'q', 'quit', 'e', 'a', 'back', 'b', 'top', 'end', 'next', 'n', 'abort']</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.aliases" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">aliases</code><em class="property"> = ['q', 'next', 'abort', 'n', 'back', 't', 'end', 'quit', 'a', 'b', 'top', 'e']</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
@ -101,7 +101,7 @@ the <strong>caller.msg()</strong> construct every time the page is updated.</p>
<dl class="py attribute">
<dt id="evennia.utils.evmore.CmdMore.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 't q quit e a back b top end next n abort', 'category': 'general', 'key': '__noinput_command', 'tags': '', 'text': '\n Manipulate the text paging\n '}</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.search_index_entry" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'q next abort n back t end quit a b top e', 'category': 'general', 'key': '__noinput_command', 'tags': '', 'text': '\n Manipulate the text paging\n '}</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -0,0 +1,717 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>evennia.utils.funcparser &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.funcparser</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-evennia.utils.funcparser">
<span id="evennia-utils-funcparser"></span><h1>evennia.utils.funcparser<a class="headerlink" href="#module-evennia.utils.funcparser" title="Permalink to this headline"></a></h1>
<p>Generic function parser for functions embedded in a string, on the form
<strong>$funcname(*args, **kwargs)</strong>, for example:</p>
<p>“A string $foo() with $bar(a, b, c, $moo(), d=23) etc.”</p>
<p>Each arg/kwarg can also be another nested function. These will be executed
inside-out and their return will used as arguments for the enclosing function
(so the same as for regular Python function execution).</p>
<p>This is the base for all forms of embedded func-parsing, like inlinefuncs and
protfuncs. Each function available to use must be registered as a safe
function for the parser to accept it. This is usually done in a module with
regular Python functions on the form:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># in a module whose path is passed to the parser</span>
<span class="k">def</span> <span class="nf">_helper</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
<span class="c1"># use underscore to NOT make the function available as a callable</span>
<span class="k">def</span> <span class="nf">funcname</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="c1"># this can be accecssed as $funcname(*args, **kwargs)</span>
<span class="c1"># it must always accept *args and **kwargs.</span>
<span class="o">...</span>
<span class="k">return</span> <span class="n">something</span>
</pre></div>
</div>
<p>Usage:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">evennia.utils.funcparser</span>
<span class="n">parser</span> <span class="o">=</span> <span class="n">FuncParser</span><span class="p">(</span><span class="s2">&quot;path.to.module_with_callables&quot;</span><span class="p">)</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="s2">&quot;String with $funcname() in it&quot;</span><span class="p">)</span>
</pre></div>
</div>
<p>The <strong>FuncParser</strong> also accepts a direct dict mapping of <strong>{name: callable, …}</strong>.</p>
<p></p>
<dl class="py exception">
<dt id="evennia.utils.funcparser.ParsingError">
<em class="property">exception </em><code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">ParsingError</code><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#ParsingError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.ParsingError" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></p>
<p>Failed to parse for some reason.</p>
</dd></dl>
<dl class="py class">
<dt id="evennia.utils.funcparser.FuncParser">
<em class="property">class </em><code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">FuncParser</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">callables</span></em>, <em class="sig-param"><span class="n">start_char</span><span class="o">=</span><span class="default_value">'$'</span></em>, <em class="sig-param"><span class="n">escape_char</span><span class="o">=</span><span class="default_value">'\\'</span></em>, <em class="sig-param"><span class="n">max_nesting</span><span class="o">=</span><span class="default_value">20</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">default_kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#FuncParser"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.FuncParser" title="Permalink 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>Sets up a parser for strings containing <strong>$funcname(*args, **kwargs)</strong>
substrings.</p>
<dl class="py method">
<dt id="evennia.utils.funcparser.FuncParser.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">callables</span></em>, <em class="sig-param"><span class="n">start_char</span><span class="o">=</span><span class="default_value">'$'</span></em>, <em class="sig-param"><span class="n">escape_char</span><span class="o">=</span><span class="default_value">'\\'</span></em>, <em class="sig-param"><span class="n">max_nesting</span><span class="o">=</span><span class="default_value">20</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">default_kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#FuncParser.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.FuncParser.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Initialize the parser.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>callables</strong> (<em>str</em><em>, </em><em>module</em><em>, </em><em>list</em><em> or </em><em>dict</em>) Where to find
safe functions to make available in the parser. If a <strong>dict</strong>,
it should be a direct mapping <strong>{“funcname”: callable, …}</strong>. If
one or mode modules or module-paths, the module(s) are first checked
for a dict <strong>FUNCPARSER_CALLABLES = {“funcname”, callable, …}</strong>. If
no such variable exists, all callables in the module (whose name does
not start with an underscore) will be made available to the parser.</p></li>
<li><p><strong>start_char</strong> (<em>str</em><em>, </em><em>optional</em>) A character used to identify the beginning
of a parseable function. Default is <strong>$</strong>.</p></li>
<li><p><strong>escape_char</strong> (<em>str</em><em>, </em><em>optional</em>) Prepend characters with this to have
them not count as a function. Default is the backtick, <strong>\</strong>.</p></li>
<li><p><strong>max_nesting</strong> (<em>int</em><em>, </em><em>optional</em>) How many levels of nested function calls
are allowed, to avoid exploitation. Default is 20.</p></li>
<li><p><strong>**default_kwargs</strong> These kwargs will be passed into all callables. These
kwargs can be overridden both by kwargs passed direcetly to <strong>.parse</strong> <em>and</em>
by kwargs given directly in the string <strong>$funcname</strong> call. They are
suitable for global defaults that is intended to be changed by the
user. To guarantee a call always gets a particular kwarg, pass it
into <strong>.parse</strong> as <strong>**reserved_kwargs</strong> instead.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.funcparser.FuncParser.validate_callables">
<code class="sig-name descname">validate_callables</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">callables</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#FuncParser.validate_callables"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.FuncParser.validate_callables" title="Permalink to this definition"></a></dt>
<dd><p>Validate the loaded callables. Each callable must support at least
<strong>funcname(*args, **kwargs)</strong>.
property.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>callables</strong> (<em>dict</em>) A mapping <strong>{“funcname”: callable, …}</strong> to validate</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><strong>AssertionError</strong> If invalid callable was found.</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>This is also a good method to override for individual parsers
needing to run any particular pre-checks.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.funcparser.FuncParser.execute">
<code class="sig-name descname">execute</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">parsedfunc</span></em>, <em class="sig-param"><span class="n">raise_errors</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">reserved_kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#FuncParser.execute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.FuncParser.execute" title="Permalink to this definition"></a></dt>
<dd><p>Execute a parsed function</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>parsedfunc</strong> (<em>_ParsedFunc</em>) This dataclass holds the parsed details
of the function.</p></li>
<li><p><strong>raise_errors</strong> (<em>bool</em><em>, </em><em>optional</em>) Raise errors. Otherwise return the
string with the function unparsed.</p></li>
<li><p><strong>**reserved_kwargs</strong> These kwargs are _guaranteed_ to always be passed into
the callable on every call. It will override any default kwargs
_and_ also a same-named kwarg given manually in the $funcname
call. This is often used by Evennia to pass required data into
the callable, for example the current Session for inlinefuncs.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>any</em> </p>
<dl class="simple">
<dt>The result of the execution. If this is a nested function, it</dt><dd><p>can be anything, otherwise it will be converted to a string later.
Always a string on un-raised error (the unparsed function string).</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><ul class="simple">
<li><p><a class="reference internal" href="#evennia.utils.funcparser.ParsingError" title="evennia.utils.funcparser.ParsingError"><strong>ParsingError</strong></a><strong>, </strong><strong>any</strong> A <strong>ParsingError</strong> if the function could not be</p></li>
<li><p><strong>found</strong><strong>, </strong><strong>otherwise error from function definition. Only raised if</strong> </p></li>
<li><p><strong>raise_errors</strong> </p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>The kwargs passed into the callable will be a mixture of the
<strong>default_kwargs</strong> passed into <strong>FuncParser.__init__</strong>, kwargs given
directly in the <strong>$funcdef</strong> string, and the <strong>reserved_kwargs</strong> this
function gets from <strong>.parse()</strong>. For colliding keys, funcdef-defined
kwargs will override default kwargs while reserved kwargs will always
override the other two.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.funcparser.FuncParser.parse">
<code class="sig-name descname">parse</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">string</span></em>, <em class="sig-param"><span class="n">raise_errors</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">escape</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">strip</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">return_str</span><span class="o">=</span><span class="default_value">True</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">reserved_kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#FuncParser.parse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.FuncParser.parse" title="Permalink to this definition"></a></dt>
<dd><p>Use parser to parse a string that may or may not have
<strong>$funcname(*args, **kwargs)</strong> - style tokens in it. Only the callables
used to initiate the parser will be eligible for parsing.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>string</strong> (<em>str</em>) The string to parse.</p></li>
<li><p><strong>raise_errors</strong> (<em>bool</em><em>, </em><em>optional</em>) By default, a failing parse just
means not parsing the string but leaving it as-is. If this is
<strong>True</strong>, errors (like not closing brackets) will lead to an
ParsingError.</p></li>
<li><p><strong>escape</strong> (<em>bool</em><em>, </em><em>optional</em>) If set, escape all found functions so they
are not executed by later parsing.</p></li>
<li><p><strong>strip</strong> (<em>bool</em><em>, </em><em>optional</em>) If set, strip any inline funcs from string
as if they were not there.</p></li>
<li><p><strong>return_str</strong> (<em>bool</em><em>, </em><em>optional</em>) If set (default), always convert the
parse result to a string, otherwise return the result of the
latest called inlinefunc (if called separately).</p></li>
<li><p><strong>**reserved_kwargs</strong> If given, these are guaranteed to _always_ pass
as part of each parsed callables <strong>kwargs. These override
same-named default options given in **__init__</strong> as well as any
same-named kwarg given in the string function. This is because
it is often used by Evennia to pass necessary kwargs into each
callable (like the current Session object for inlinefuncs).</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>str or any</em> </p>
<dl class="simple">
<dt>The parsed string, or the same string on error (if</dt><dd><p><strong>raise_errors</strong> is <strong>False</strong>). This is always a string</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><p><a class="reference internal" href="#evennia.utils.funcparser.ParsingError" title="evennia.utils.funcparser.ParsingError"><strong>ParsingError</strong></a> If a problem is encountered and <strong>raise_errors</strong> is True.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.funcparser.FuncParser.parse_to_any">
<code class="sig-name descname">parse_to_any</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">string</span></em>, <em class="sig-param"><span class="n">raise_errors</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">reserved_kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#FuncParser.parse_to_any"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.FuncParser.parse_to_any" title="Permalink to this definition"></a></dt>
<dd><p>This parses a string and if the string only contains a “$func(…)”,
the return will be the return value of that function, even if its not
a string. If mixed in with other strings, the result will still always
be a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>string</strong> (<em>str</em>) The string to parse.</p></li>
<li><p><strong>raise_errors</strong> (<em>bool</em><em>, </em><em>optional</em>) If unset, leave a failing (or
unrecognized) inline function as unparsed in the string. If set,
raise an ParsingError.</p></li>
<li><p><strong>**reserved_kwargs</strong> If given, these are guaranteed to _always_ pass
as part of each parsed callables <strong>kwargs. These override
same-named default options given in **__init__</strong> as well as any
same-named kwarg given in the string function. This is because
it is often used by Evennia to pass necessary kwargs into each
callable (like the current Session object for inlinefuncs).</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>any</em> </p>
<dl class="simple">
<dt>The return from the callable. Or string if the callable is not</dt><dd><p>given alone in the string.</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><p><a class="reference internal" href="#evennia.utils.funcparser.ParsingError" title="evennia.utils.funcparser.ParsingError"><strong>ParsingError</strong></a> If a problem is encountered and <strong>raise_errors</strong> is True.</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>This is a convenience wrapper for <strong>self.parse(…, return_str=False)</strong> which
accomplishes the same thing.</p>
<p class="rubric">Examples</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ast</span> <span class="kn">import</span> <span class="n">literal_eval</span>
<span class="kn">from</span> <span class="nn">evennia.utils.funcparser</span> <span class="kn">import</span> <span class="n">FuncParser</span>
<span class="k">def</span> <span class="nf">ret1</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="n">parser</span> <span class="o">=</span> <span class="n">FuncParser</span><span class="p">({</span><span class="s2">&quot;lit&quot;</span><span class="p">:</span> <span class="n">lit</span><span class="p">})</span>
<span class="k">assert</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_to_any</span><span class="p">(</span><span class="s2">&quot;$ret1()&quot;</span> <span class="o">==</span> <span class="mi">1</span>
<span class="k">assert</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_to_any</span><span class="p">(</span><span class="s2">&quot;$ret1() and text&quot;</span> <span class="o">==</span> <span class="s1">&#39;1 and text&#39;</span>
</pre></div>
</div>
</dd></dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_eval">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_eval</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_eval"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_eval" title="Permalink to this definition"></a></dt>
<dd><p>Funcparser callable. This will combine safe evaluations to try to parse the
incoming string into a python object. If it fails, the return will be same
as the input.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) The string to parse. Only simple literals or operators are allowed.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>any</em> The string parsed into its Python form, or the same as input.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<ul class="simple">
<li><p><strong>$py(1) -&gt; 1</strong></p></li>
<li><p><strong>$py([1,2,3,4] -&gt; [1, 2, 3]</strong></p></li>
<li><p><strong>$py(3 + 4) -&gt; 7</strong></p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_toint">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_toint</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_toint"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_toint" title="Permalink to this definition"></a></dt>
<dd><p>Usage: toint(43.0) -&gt; 43</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_add">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_add</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_add" title="Permalink to this definition"></a></dt>
<dd><p>Usage: <strong>$add(val1, val2) -&gt; val1 + val2</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_sub">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_sub</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_sub"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_sub" title="Permalink to this definition"></a></dt>
<dd><p>Usage: <strong>**$sub(val1, val2) -&gt; val1 - val2</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_mult">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_mult</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_mult"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_mult" title="Permalink to this definition"></a></dt>
<dd><p>Usage: <strong>$mult(val1, val2) -&gt; val1 * val2</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_div">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_div</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_div"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_div" title="Permalink to this definition"></a></dt>
<dd><p>Usage: <strong>$mult(val1, val2) -&gt; val1 / val2</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_round">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_round</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_round"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_round" title="Permalink to this definition"></a></dt>
<dd><p>Funcparser callable. Rounds an incoming float to a
certain number of significant digits.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inp</strong> (<em>str</em><em> or </em><em>number</em>) If a string, it will attempt
to be converted to a number first.</p></li>
<li><p><strong>significant</strong> (<em>int</em>) The number of significant digits. Default is None -
this will turn the result into an int.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>any</em> The rounded value or inp if inp was not a number.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<ul class="simple">
<li><p><strong>$round(3.5434343, 3) -&gt; 3.543</strong></p></li>
<li><p><strong>$round($random(), 2)</strong> - rounds random result, e.g <strong>0.22</strong></p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_random">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_random</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_random"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_random" title="Permalink to this definition"></a></dt>
<dd><p>Funcparser callable. Returns a random number between 0 and 1, from 0 to a
maximum value, or within a given range (inclusive).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>minval</strong> (<em>str</em><em>, </em><em>optional</em>) Minimum value. If not given, assumed 0.</p></li>
<li><p><strong>maxval</strong> (<em>str</em><em>, </em><em>optional</em>) Maximum value.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>If either of the min/maxvalue has a . in it, a floating-point random
value will be returned. Otherwise it will be an
integer value in the given range.</p>
<p class="rubric">Examples</p>
<ul class="simple">
<li><p><strong>$random()</strong> - random value [0 .. 1) (float).</p></li>
<li><p><strong>$random(5)</strong> - random value [0..5] (int)</p></li>
<li><p><strong>$random(5.0)</strong> - random value [0..5] (float)</p></li>
<li><p><strong>$random(5, 10)</strong> - random value [5..10] (int)</p></li>
<li><p><strong>$random(5, 10.0)</strong> - random value [5..10] (float)</p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_randint">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_randint</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_randint"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_randint" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $randint(start, end):</p>
<p>Legacy alias - always returns integers.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_choice">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_choice</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_choice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_choice" title="Permalink to this definition"></a></dt>
<dd><p>FuncParser callable. Picks a random choice from a list.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>listing</strong> (<em>list</em>) A list of items to randomly choose between.
This will be converted from a string to a real list.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>any</em> The randomly chosen element.</p>
</dd>
</dl>
<p class="rubric">Example</p>
<ul class="simple">
<li><p><strong>$choice([key, flower, house])</strong></p></li>
<li><p><strong>$choice([1, 2, 3, 4])</strong></p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_pad">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_pad</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_pad"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_pad" title="Permalink to this definition"></a></dt>
<dd><p>FuncParser callable. Pads text to given width, optionally with fill-characters</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text</strong> (<em>str</em>) Text to pad.</p></li>
<li><p><strong>width</strong> (<em>int</em>) Width of padding.</p></li>
<li><p><strong>align</strong> (<em>str</em><em>, </em><em>optional</em>) Alignment of padding; one of c, l or r.</p></li>
<li><p><strong>fillchar</strong> (<em>str</em><em>, </em><em>optional</em>) Character used for padding. Defaults to a space.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Example</p>
<ul class="simple">
<li><p><strong>$pad(text, 12, r, ) -&gt; ” text”</strong></p></li>
<li><p><strong>$pad(text, width=12, align=c, fillchar=-) -&gt; “—-text—-“</strong></p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_crop">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_crop</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_crop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_crop" title="Permalink to this definition"></a></dt>
<dd><p>FuncParser callable. Crops ingoing text to given widths.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) Text to crop.</p></li>
<li><p><strong>width</strong> (<em>str</em><em>, </em><em>optional</em>) Will be converted to an integer. Width of
crop in characters.</p></li>
<li><p><strong>suffix</strong> (<em>str</em><em>, </em><em>optional</em>) End string to mark the fact that a part
of the string was cropped. Defaults to <strong>[…]</strong>.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Example</p>
<ul class="simple">
<li><p><strong>$crop(A long text, 10, […]) -&gt; “A lon[…]”</strong></p></li>
<li><p><strong>$crop(text, width=11, suffix=[…]) -&gt; “A long[…]”</strong></p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_space">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_space</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwarg</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_space"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_space" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $space(43)</p>
<p>Insert a length of space.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_justify">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_justify" title="Permalink to this definition"></a></dt>
<dd><p>Justify text across a width, default across screen width.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text</strong> (<em>str</em>) Text to justify.</p></li>
<li><p><strong>width</strong> (<em>int</em><em>, </em><em>optional</em>) Defaults to default screen width.</p></li>
<li><p><strong>align</strong> (<em>str</em><em>, </em><em>optional</em>) One of l, c, r or f for full.</p></li>
<li><p><strong>indent</strong> (<em>int</em><em>, </em><em>optional</em>) Intendation of text block, if any.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The justified text.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<ul class="simple">
<li><p><strong>$just(text, width=40)</strong></p></li>
<li><p><strong>$just(text, align=r, indent=2)</strong></p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_left_justify">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_left_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_left_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_left_justify" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $ljust(text)</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_right_justify">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_right_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_right_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_right_justify" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $rjust(text)</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_center_justify">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_center_justify</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_center_justify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_center_justify" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $cjust(text)</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_clr">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_clr</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_clr"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_clr" title="Permalink to this definition"></a></dt>
<dd><p>FuncParser callable. Colorizes nested text.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>startclr</strong> (<em>str</em><em>, </em><em>optional</em>) An ANSI color abbreviation without the
prefix <strong>|</strong>, such as <strong>r</strong> (red foreground) or <strong>[r</strong> (red background).</p></li>
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) Text</p></li>
<li><p><strong>endclr</strong> (<em>str</em><em>, </em><em>optional</em>) The color to use at the end of the string. Defaults
to <strong>|n</strong> (reset-color).</p></li>
</ul>
</dd>
</dl>
<dl class="simple">
<dt>Kwargs:</dt><dd><p>color (str, optional): If given,</p>
</dd>
</dl>
<p class="rubric">Example</p>
<ul class="simple">
<li><p><strong>$clr(r, text, n) -&gt; “|rtext|n”</strong></p></li>
<li><p><strong>$clr(r, text) -&gt; “|rtext|n</strong></p></li>
<li><p><strong>$clr(text, start=r, end=n) -&gt; “|rtext|n”</strong></p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_search">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_search</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">access</span><span class="o">=</span><span class="default_value">'control'</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_search"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_search" title="Permalink to this definition"></a></dt>
<dd><p>FuncParser callable. Finds an object based on name or #dbref. Note that
this requries the parser be called with the callers Session for proper
security. If called without session, the call is aborted.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>query</strong> (<em>str</em>) The key or dbref to search for.</p>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><ul class="simple">
<li><p><strong>return_list</strong> (<em>bool</em>) If set, return a list of objects with
0, 1 or more matches to <strong>query</strong>. Defaults to False.</p></li>
<li><p><strong>type</strong> (<em>str</em>) One of obj, account, script</p></li>
<li><p><strong>caller</strong> (<em>Entity</em>) Supplied to Parser. This is required and will
be passed into the access check for the entity being searched for.
The control permission is required.</p></li>
<li><p><strong>access</strong> (<em>str</em>) Which locktype access to check. Unset to disable the
security check.</p></li>
</ul>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><em>any</em> An entity match or None if no match or a list if <strong>return_list</strong> is set.</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><a class="reference internal" href="#evennia.utils.funcparser.ParsingError" title="evennia.utils.funcparser.ParsingError"><strong>ParsingError</strong></a> If zero/multimatch and <strong>return_list</strong> is False, or caller was not
passed into parser.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<ul class="simple">
<li><p>“$search(#233)”</p></li>
<li><p>“$search(Tom, type=account)”</p></li>
<li><p>“$search(meadow, return_list=True)”</p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_search_list">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_search_list</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">access</span><span class="o">=</span><span class="default_value">'control'</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_search_list"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_search_list" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $objlist(#123)</p>
<p>Legacy alias for search with a return_list=True kwarg preset.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_you">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_you</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">receiver</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">mapping</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">capitalize</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_you"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_you" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $you() or $you(key)</p>
<p>Replaces with you for the caller of the string, with the display_name
of the caller for others.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>caller</strong> (<em>Object</em>) The you in the string. This is used unless another
you-key is passed to the callable in combination with <strong>mapping</strong>.</p></li>
<li><p><strong>receiver</strong> (<em>Object</em>) The recipient of the string.</p></li>
<li><p><strong>mapping</strong> (<em>dict</em><em>, </em><em>optional</em>) This is a mapping <strong>{key:Object, …}</strong> and is
used to find which object <strong>$you(key)</strong> refers to. If not given, the
<strong>caller</strong> kwarg is used.</p></li>
<li><p><strong>capitalize</strong> (<em>bool</em>) Passed by the You helper, to capitalize you.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The parsed string.</p>
</dd>
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><p><a class="reference internal" href="#evennia.utils.funcparser.ParsingError" title="evennia.utils.funcparser.ParsingError"><strong>ParsingError</strong></a> If <strong>caller</strong> and <strong>receiver</strong> were not supplied.</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>The kwargs should be passed the to parser directly.</p>
<p class="rubric">Examples</p>
<p>This can be used by the say or emote hooks to pass actor stance
strings. This should usually be combined with the $inflect() callable.</p>
<ul class="simple">
<li><p><strong>With a grin, $you() $conj(jump) at $you(tommy).</strong></p></li>
</ul>
<p>The caller-object will see “With a grin, you jump at Tommy.”
Tommy will see “With a grin, CharName jumps at you.”
Others will see “With a grin, CharName jumps at Tommy.”</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_You">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_You</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="n">you</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">receiver</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">mapping</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">capitalize</span><span class="o">=</span><span class="default_value">True</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_You"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_You" title="Permalink to this definition"></a></dt>
<dd><p>Usage: $You() - capitalizes the you output.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.funcparser.funcparser_callable_conjugate">
<code class="sig-prename descclassname">evennia.utils.funcparser.</code><code class="sig-name descname">funcparser_callable_conjugate</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="n">caller</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">receiver</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/funcparser.html#funcparser_callable_conjugate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.funcparser.funcparser_callable_conjugate" title="Permalink to this definition"></a></dt>
<dd><p>Conjugate a verb according to if it should be 2nd or third person.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>caller</strong> (<em>Object</em>) The object who represents you in the string.</p></li>
<li><p><strong>receiver</strong> (<em>Object</em>) The recipient of the string.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The parsed string.</p>
</dd>
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><p><a class="reference internal" href="#evennia.utils.funcparser.ParsingError" title="evennia.utils.funcparser.ParsingError"><strong>ParsingError</strong></a> If <strong>you</strong> and <strong>recipient</strong> were not both supplied.</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>Note that the verb will not be capitalized. It also
assumes that the active party (You) is the one performing the verb.
This automatic conjugation will fail if the active part is another person
than you. The caller/receiver must be passed to the parser directly.</p>
<p class="rubric">Examples</p>
<p>This is often used in combination with the $you/You( callables.</p>
<ul class="simple">
<li><p><strong>With a grin, $you() $conj(jump)</strong></p></li>
</ul>
<p>You will see “With a grin, you jump.”
Others will see “With a grin, CharName jumps.”</p>
</dd></dl>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.funcparser.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li><a href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC</a> -
<a href="https://discord.gg/NecFePw">Discord</a> -
<a href="https://groups.google.com/forum/#%21forum/evennia">Forums</a>
</li>
<li><a href="http://evennia.blogspot.com/">Evennia Dev blog</a> </li>
</ul>
<h3>Versions</h3>
<ul>
<li><a href="evennia.utils.funcparser.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.funcparser</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>

View file

@ -70,8 +70,8 @@ functionality.</p>
</li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.evmore.html">evennia.utils.evmore</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.evtable.html">evennia.utils.evtable</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.funcparser.html">evennia.utils.funcparser</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.gametime.html">evennia.utils.gametime</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.inlinefuncs.html">evennia.utils.inlinefuncs</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.logger.html">evennia.utils.logger</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.optionclasses.html">evennia.utils.optionclasses</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.optionhandler.html">evennia.utils.optionhandler</a></li>
@ -91,6 +91,11 @@ functionality.</p>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.idmapper.tests.html">evennia.utils.idmapper.tests</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.verb_conjugation.html">evennia.utils.verb_conjugation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.verb_conjugation.conjugate.html">evennia.utils.verb_conjugation.conjugate</a></li>
<li class="toctree-l2"><a class="reference internal" href="evennia.utils.verb_conjugation.tests.html">evennia.utils.verb_conjugation.tests</a></li>
</ul>
</li>
</ul>
</div>
</div>

View file

@ -1,403 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>evennia.utils.inlinefuncs &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.inlinefuncs</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-evennia.utils.inlinefuncs">
<span id="evennia-utils-inlinefuncs"></span><h1>evennia.utils.inlinefuncs<a class="headerlink" href="#module-evennia.utils.inlinefuncs" title="Permalink to this headline"></a></h1>
<p>Inline functions (nested form).</p>
<p>This parser accepts nested inlinefunctions on the form</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$funcname(arg, arg, ...)
</pre></div>
</div>
<p>embedded in any text where any arg can be another <strong>**$funcname()**</strong> call.
This functionality is turned off by default - to activate,
<strong>settings.INLINEFUNC_ENABLED</strong> must be set to <strong>True</strong>.</p>
<p>Each token starts with <strong>$funcname(</strong> where there must be no space
between the <strong>$funcname</strong> and <strong>“(“</strong>. The inlinefunc ends with a matched ending parentesis.
<strong>“)”</strong>.</p>
<p>Inside the inlinefunc definition, one can use <strong>** to escape. This is
mainly needed for escaping commas in flowing text (which would
otherwise be interpreted as an argument separator), or to escape **)</strong>
when not intended to close the function block. Enclosing text in
matched <strong>“””</strong> (triple quotes) or <strong></strong> (triple single-quotes) will
also escape <em>everything</em> within without needing to escape individual
characters.</p>
<p>The available inlinefuncs are defined as global-level functions in
modules defined by <strong>settings.INLINEFUNC_MODULES</strong>. They are identified
by their function name (and ignored if this name starts with <strong>_</strong>). They
should be on the following form:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">funcname</span> <span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="c1"># ...</span>
</pre></div>
</div>
<p>Here, the arguments given to <strong>$funcname(arg1,arg2)</strong> will appear as the
<strong>*args</strong> tuple. This will be populated by the arguments given to the
inlinefunc in-game - the only part that will be available from
in-game. <strong>**kwargs</strong> are not supported from in-game but are only used
internally by Evennia to make details about the caller available to
the function. The kwarg passed to all functions is <strong>session</strong>, the
Sessionobject for the object seeing the string. This may be <strong>None</strong> if
the string is sent to a non-puppetable object. The inlinefunc should
never raise an exception.</p>
<p>There are two reserved function names:</p>
<ul class="simple">
<li><p>“nomatch”: This is called if the user uses a functionname that is
not registered. The nomatch function will get the name of the
not-found function as its first argument followed by the normal
arguments to the given function. If not defined the default effect is
to print <strong>&lt;UNKNOWN&gt;</strong> to replace the unknown function.</p></li>
<li><p>“stackfull”: This is called when the maximum nested function stack is reached.
When this happens, the original parsed string is returned and the result of
the <strong>stackfull</strong> inlinefunc is appended to the end. By default this is an
error message.</p></li>
</ul>
<p>Syntax errors, notably failing to completely closing all inlinefunc
blocks, will lead to the entire string remaining unparsed. Inlineparsing should
never traceback.</p>
<hr class="docutils" />
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.random">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">random</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#random"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.random" title="Permalink to this definition"></a></dt>
<dd><p>Inlinefunc. Returns a random number between
0 and 1, from 0 to a maximum value, or within a given range (inclusive).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>minval</strong> (<em>str</em><em>, </em><em>optional</em>) Minimum value. If not given, assumed 0.</p></li>
<li><p><strong>maxval</strong> (<em>str</em><em>, </em><em>optional</em>) Maximum value.</p></li>
</ul>
</dd>
</dl>
<dl class="simple">
<dt>Keyword argumuents:</dt><dd><p>session (Session): Session getting the string.</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>If either of the min/maxvalue has a . in it, a floating-point random
value will be returned. Otherwise it will be an integer value in the
given range.</p>
<p class="rubric">Example</p>
<p><strong>$random()</strong>
<strong>$random(5)</strong>
<strong>$random(5, 10)</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.pad">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">pad</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#pad"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.pad" title="Permalink to this definition"></a></dt>
<dd><p>Inlinefunc. Pads text to given width.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) Text to pad.</p></li>
<li><p><strong>width</strong> (<em>str</em><em>, </em><em>optional</em>) Will be converted to integer. Width
of padding.</p></li>
<li><p><strong>align</strong> (<em>str</em><em>, </em><em>optional</em>) Alignment of padding; one of c, l or r.</p></li>
<li><p><strong>fillchar</strong> (<em>str</em><em>, </em><em>optional</em>) Character used for padding. Defaults to a
space.</p></li>
</ul>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><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>) Session performing the pad.</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p><strong>$pad(text, width, align, fillchar)</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.crop">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">crop</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#crop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.crop" title="Permalink to this definition"></a></dt>
<dd><p>Inlinefunc. Crops ingoing text to given widths.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) Text to crop.</p></li>
<li><p><strong>width</strong> (<em>str</em><em>, </em><em>optional</em>) Will be converted to an integer. Width of
crop in characters.</p></li>
<li><p><strong>suffix</strong> (<em>str</em><em>, </em><em>optional</em>) End string to mark the fact that a part
of the string was cropped. Defaults to <strong>[…]</strong>.</p></li>
</ul>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><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>) Session performing the crop.</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p><strong>$crop(text, width=78, suffix=[…])</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.space">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">space</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#space"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.space" title="Permalink to this definition"></a></dt>
<dd><p>Inlinefunc. Inserts an arbitrary number of spaces. Defaults to 4 spaces.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>spaces</strong> (<em>int</em><em>, </em><em>optional</em>) The number of spaces to insert.</p>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><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>) Session performing the crop.</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p><strong>$space(20)</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.clr">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">clr</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#clr"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.clr" title="Permalink to this definition"></a></dt>
<dd><p>Inlinefunc. Colorizes nested text.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>startclr</strong> (<em>str</em><em>, </em><em>optional</em>) An ANSI color abbreviation without the
prefix <strong>|</strong>, such as <strong>r</strong> (red foreground) or <strong>[r</strong> (red background).</p></li>
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) Text</p></li>
<li><p><strong>endclr</strong> (<em>str</em><em>, </em><em>optional</em>) The color to use at the end of the string. Defaults
to <strong>|n</strong> (reset-color).</p></li>
</ul>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><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>) Session object triggering inlinefunc.</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p><strong>$clr(startclr, text, endclr)</strong></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.null">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">null</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#null"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.null" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.nomatch">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">nomatch</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">name</span></em>, <em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#nomatch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.nomatch" title="Permalink to this definition"></a></dt>
<dd><p>Default implementation of nomatch returns the function as-is as a string.</p>
</dd></dl>
<dl class="py class">
<dt id="evennia.utils.inlinefuncs.ParseStack">
<em class="property">class </em><code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">ParseStack</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#ParseStack"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.ParseStack" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></p>
<p>Custom stack that always concatenates strings together when the
strings are added next to one another. Tuples are stored
separately and None is used to mark that a string should be broken
up into a new chunk. Below is the resulting stack after separately
appending 3 strings, None, 2 strings, a tuple and finally 2
strings:</p>
<p>[string + string + string,
None
string + string,
tuple,
string + string]</p>
<dl class="py method">
<dt id="evennia.utils.inlinefuncs.ParseStack.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#ParseStack.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.ParseStack.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.inlinefuncs.ParseStack.append">
<code class="sig-name descname">append</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">item</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#ParseStack.append"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.ParseStack.append" title="Permalink to this definition"></a></dt>
<dd><p>The stack will merge strings, add other things as normal</p>
</dd></dl>
</dd></dl>
<dl class="py exception">
<dt id="evennia.utils.inlinefuncs.InlinefuncError">
<em class="property">exception </em><code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">InlinefuncError</code><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#InlinefuncError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.InlinefuncError" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.parse_inlinefunc">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">parse_inlinefunc</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">string</span></em>, <em class="sig-param"><span class="n">strip</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">available_funcs</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">stacktrace</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#parse_inlinefunc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.parse_inlinefunc" title="Permalink to this definition"></a></dt>
<dd><p>Parse the incoming string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>string</strong> (<em>str</em>) The incoming string to parse.</p></li>
<li><p><strong>strip</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether to strip function calls rather than
execute them.</p></li>
<li><p><strong>available_funcs</strong> (<em>dict</em><em>, </em><em>optional</em>) Define an alternative source of functions to parse for.
If unset, use the functions found through <strong>settings.INLINEFUNC_MODULES</strong>.</p></li>
<li><p><strong>stacktrace</strong> (<em>bool</em><em>, </em><em>optional</em>) If set, print the stacktrace to log.</p></li>
</ul>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><ul class="simple">
<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>) This is sent to this function by Evennia when triggering
it. It is passed to the inlinefunc.</p></li>
<li><p><strong>kwargs</strong> (<em>any</em>) All other kwargs are also passed on to the inlinefunc.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.raw">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">raw</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">string</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#raw"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.raw" title="Permalink to this definition"></a></dt>
<dd><p>Escape all inlinefuncs in a string so they wont get parsed.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) String with inlinefuncs to escape.</p>
</dd>
</dl>
</dd></dl>
<dl class="py exception">
<dt id="evennia.utils.inlinefuncs.NickTemplateInvalid">
<em class="property">exception </em><code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">NickTemplateInvalid</code><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#NickTemplateInvalid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.NickTemplateInvalid" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.initialize_nick_templates">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">initialize_nick_templates</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">in_template</span></em>, <em class="sig-param"><span class="n">out_template</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#initialize_nick_templates"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.initialize_nick_templates" title="Permalink to this definition"></a></dt>
<dd><p>Initialize the nick templates for matching and remapping a string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>in_template</strong> (<em>str</em>) The template to be used for nick recognition.</p></li>
<li><p><strong>out_template</strong> (<em>str</em>) The template to be used to replace the string
matched by the in_template.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>regex (regex)</em> Regex to match against strings
template (str): Template with markers {arg1}, {arg2}, etc for
replacement using the standard .format method.</p>
</dd>
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><ul class="simple">
<li><p><a class="reference internal" href="#evennia.utils.inlinefuncs.NickTemplateInvalid" title="evennia.utils.inlinefuncs.NickTemplateInvalid"><strong>evennia.utils.inlinefuncs.NickTemplateInvalid</strong></a> If the in/out template</p></li>
<li><p><strong>does not have a matching number of $args.</strong> </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.inlinefuncs.parse_nick_template">
<code class="sig-prename descclassname">evennia.utils.inlinefuncs.</code><code class="sig-name descname">parse_nick_template</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">string</span></em>, <em class="sig-param"><span class="n">template_regex</span></em>, <em class="sig-param"><span class="n">outtemplate</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/inlinefuncs.html#parse_nick_template"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.inlinefuncs.parse_nick_template" title="Permalink to this definition"></a></dt>
<dd><p>Parse a text using a template and map it to another template</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>string</strong> (<em>str</em>) The input string to processj</p></li>
<li><p><strong>template_regex</strong> (<em>regex</em>) A template regex created with
initialize_nick_template.</p></li>
<li><p><strong>outtemplate</strong> (<em>str</em>) The template to which to map the matches
produced by the template_regex. This should have $1, $2,
etc to match the regex.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.inlinefuncs.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li><a href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC</a> -
<a href="https://discord.gg/NecFePw">Discord</a> -
<a href="https://groups.google.com/forum/#%21forum/evennia">Forums</a>
</li>
<li><a href="http://evennia.blogspot.com/">Evennia Dev blog</a> </li>
</ul>
<h3>Versions</h3>
<ul>
<li><a href="evennia.utils.inlinefuncs.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.5/api/evennia.utils.inlinefuncs.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.inlinefuncs</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>

View file

@ -733,8 +733,7 @@ ticker instead of creating a new one.</p></li>
should be the return given from the original <strong>repeat</strong> call. If this
is given, all other args except <strong>stop</strong> are ignored.</p></li>
<li><p><strong>*args</strong> Used as arguments to <strong>callback</strong>.</p></li>
<li><p><strong>**kwargs</strong> <p>Used as arguments to <strong>callback</strong>.</p>
</p></li>
<li><p><strong>**kwargs</strong> Keyword-arguments to pass to <strong>callback</strong>.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
@ -1546,6 +1545,56 @@ function has no arg or kwarg named caller.</p></li>
<p>This turns the decorated function or method into a generator.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.utils.safe_convert_to_types">
<code class="sig-prename descclassname">evennia.utils.utils.</code><code class="sig-name descname">safe_convert_to_types</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">converters</span></em>, <em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="n">raise_errors</span><span class="o">=</span><span class="default_value">True</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/utils.html#safe_convert_to_types"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.utils.safe_convert_to_types" title="Permalink to this definition"></a></dt>
<dd><p>Helper function to safely convert inputs to expected data types.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>converters</strong> (<em>tuple</em>) A tuple <strong>((converter, converter,…), {kwarg: converter, …})</strong> to
match a converter to each element in <strong>*args</strong> and <strong>**kwargs</strong>.
Each converter will will be called with the arg/kwarg-value as the only argument.
If there are too few converters given, the others will simply not be converter. If the
converter is given as the string py, it attempts to run
<strong>safe_eval</strong>/<strong>literal_eval</strong> on the input arg or kwarg value. Its possible to
skip the arg/kwarg part of the tuple, an empty tuple/dict will then be assumed.</p></li>
<li><p><strong>*args</strong> The arguments to convert with <strong>argtypes</strong>.</p></li>
<li><p><strong>raise_errors</strong> (<em>bool</em><em>, </em><em>optional</em>) If set, raise any errors. This will
abort the conversion at that arg/kwarg. Otherwise, just skip the
conversion of the failing arg/kwarg. This will be set by the FuncParser if
this is used as a part of a FuncParser callable.</p></li>
<li><p><strong>**kwargs</strong> The kwargs to convert with <strong>kwargtypes</strong></p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>tuple</em> <strong>(args, kwargs)</strong> in converted form.</p>
</dd>
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><ul class="simple">
<li><p><a class="reference internal" href="evennia.utils.funcparser.html#evennia.utils.funcparser.ParsingError" title="evennia.utils.funcparser.ParsingError"><strong>utils.funcparser.ParsingError</strong></a> If parsing failed in the <strong>py</strong>
converter. This also makes this compatible with the FuncParser
interface.</p></li>
<li><p><strong>any</strong> Any other exception raised from other converters, if raise_errors is True.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>This function is often used to validate/convert input from untrusted sources. For
security, the “py”-converter is deliberately limited and uses <strong>safe_eval</strong>/<strong>literal_eval</strong>
which only supports simple expressions or simple containers with literals. NEVER
use the python <strong>eval</strong> or <strong>exec</strong> methods as a converter for any untrusted input! Allowing
untrusted sources to execute arbitrary python on your server is a severe security risk,</p>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$funcname(1, 2, 3.0, c=[1,2,3])
def _funcname(*args, **kwargs):
args, kwargs = safe_convert_input(((int, int, float), {&#39;c&#39;: &#39;py&#39;}), *args, **kwargs)
# ...
</pre></div>
</div>
</dd></dl>
</div>

View file

@ -0,0 +1,364 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>evennia.utils.verb_conjugation.conjugate &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.verb_conjugation.conjugate</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-evennia.utils.verb_conjugation.conjugate">
<span id="evennia-utils-verb-conjugation-conjugate"></span><h1>evennia.utils.verb_conjugation.conjugate<a class="headerlink" href="#module-evennia.utils.verb_conjugation.conjugate" title="Permalink to this headline"></a></h1>
<p>English verb conjugation</p>
<p>Original Author: Tom De Smedt &lt;<a class="reference external" href="mailto:tomdesmedt&#37;&#52;&#48;organisms&#46;be">tomdesmedt<span>&#64;</span>organisms<span>&#46;</span>be</a>&gt; of Nodebox
Refactored by Griatch 2021, for Evennia.</p>
<p>This is distributed under the GPL2 license. See ./LICENSE.txt for details.</p>
<p>The verb.txt morphology was adopted from the XTAG morph_englis.flat:
<a class="reference external" href="http://www.cis.upenn.edu/~xtag/">http://www.cis.upenn.edu/~xtag/</a></p>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_infinitive">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_infinitive</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_infinitive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_infinitive" title="Permalink to this definition"></a></dt>
<dd><p>Returns the uninflected form of the verb, like are -&gt; be</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>verb</strong> (<em>str</em>) The verb to get the uninflected form of.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The uninflected verb form of <strong>verb</strong>.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_conjugate">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_conjugate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em>, <em class="sig-param"><span class="n">tense</span><span class="o">=</span><span class="default_value">'infinitive'</span></em>, <em class="sig-param"><span class="n">negate</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_conjugate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_conjugate" title="Permalink to this definition"></a></dt>
<dd><p>Inflects the verb to the given tense.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>verb</strong> (<em>str</em>) The single verb to conjugate.</p></li>
<li><p><strong>tense</strong> (<em>str</em>) The tense to convert to. This can be given either as a long or short form
- “infinitive” (“inf”) - be
- “1st/2nd/3rd singular present” (“1/2/3sgpres”) - am/are/is
- “present plural” (“pl”) - are
- “present participle” (“prog”) - being
- “1st/2nd/3rd singular past” (“1/2/3sgpast”) - was/were/was
- “past plural” (“pastpl”) - were
- “past” - were
- “past participle” (“ppart”) - been</p></li>
<li><p><strong>negate</strong> (<em>bool</em>) Negates the verb. This only supported
for a limited number of verbs: be, can, do, will, must, have, may,
need, dare, ought.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The conjugated verb. If conjugation fails, the original verb is returned.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<p>The verb be:
- present: I am, you are, she is,
- present participle: being,
- past: I was, you were, he was,
- past participle: been,
- negated present: I am not, you arent, it isnt.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_present">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_present</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em>, <em class="sig-param"><span class="n">person</span><span class="o">=</span><span class="default_value">''</span></em>, <em class="sig-param"><span class="n">negate</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_present"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_present" title="Permalink to this definition"></a></dt>
<dd><p>Inflects the verb in the present tense.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>person</strong> (<em>str</em><em> or </em><em>int</em>) This can be 1, 2, 3, “1st”, “2nd”, “3rd”, “plural” or “*”.</p></li>
<li><p><strong>negate</strong> (<em>bool</em>) Some verbs like be, have, must, can be negated.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The present tense verb.</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>had -&gt; have</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_present_participle">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_present_participle</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_present_participle"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_present_participle" title="Permalink to this definition"></a></dt>
<dd><p>Inflects the verb in the present participle.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>verb</strong> (<em>str</em>) The verb to inflect.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The inflected verb.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<p>give -&gt; giving, be -&gt; being, swim -&gt; swimming</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_past">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_past</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em>, <em class="sig-param"><span class="n">person</span><span class="o">=</span><span class="default_value">''</span></em>, <em class="sig-param"><span class="n">negate</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_past"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_past" title="Permalink to this definition"></a></dt>
<dd><p>Inflects the verb in the past tense.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>verb</strong> (<em>str</em>) The verb to inflect.</p></li>
<li><p><strong>person</strong> (<em>str</em><em>, </em><em>optional</em>) The person can be specified with 1, 2, 3,
“1st”, “2nd”, “3rd”, “plural”, “*”.</p></li>
<li><p><strong>negate</strong> (<em>bool</em><em>, </em><em>optional</em>) Some verbs like be, have, must, can be negated.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The inflected verb.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<p>give -&gt; gave, be -&gt; was, swim -&gt; swam</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_past_participle">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_past_participle</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_past_participle"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_past_participle" title="Permalink to this definition"></a></dt>
<dd><p>Inflects the verb in the present participle.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>verb</strong> (<em>str</em>) The verb to inflect.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The inflected verb.</p>
</dd>
</dl>
<p class="rubric">Examples</p>
<p>give -&gt; given, be -&gt; been, swim -&gt; swum</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_all_tenses">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_all_tenses</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_all_tenses"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_all_tenses" title="Permalink to this definition"></a></dt>
<dd><p>Get all all possible verb tenses.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><em>list</em> A list if string names.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_tense">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_tense</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_tense"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_tense" title="Permalink to this definition"></a></dt>
<dd><p>Returns a string from verb_tenses_keys representing the verbs tense.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>verb</strong> (<em>str</em>) The verb to check the tense of.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>str</em> The tense.</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>given -&gt; “past participle”</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_is_tense">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_is_tense</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em>, <em class="sig-param"><span class="n">tense</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_is_tense"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_is_tense" title="Permalink to this definition"></a></dt>
<dd><p>Checks whether the verb is in the given tense.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>verb</strong> (<em>str</em>) The verb to check.</p></li>
<li><p><strong>tense</strong> (<em>str</em>) The tense to check.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> If verb matches given tense.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_is_present">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_is_present</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em>, <em class="sig-param"><span class="n">person</span><span class="o">=</span><span class="default_value">''</span></em>, <em class="sig-param"><span class="n">negated</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_is_present"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_is_present" title="Permalink to this definition"></a></dt>
<dd><p>Checks whether the verb is in the present tense.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>verb</strong> (<em>str</em>) The verb to check.</p></li>
<li><p><strong>person</strong> (<em>str</em>) Check which person.</p></li>
<li><p><strong>negated</strong> (<em>bool</em>) Check if verb was negated.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> If verb was in present tense.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_is_present_participle">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_is_present_participle</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_is_present_participle"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_is_present_participle" title="Permalink to this definition"></a></dt>
<dd><p>Checks whether the verb is in present participle.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>verb</strong> (<em>str</em>) The verb to check.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> Result of check.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_is_past">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_is_past</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em>, <em class="sig-param"><span class="n">person</span><span class="o">=</span><span class="default_value">''</span></em>, <em class="sig-param"><span class="n">negated</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_is_past"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_is_past" title="Permalink to this definition"></a></dt>
<dd><p>Checks whether the verb is in the past tense.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>verb</strong> (<em>str</em>) The verb to check.</p></li>
<li><p><strong>person</strong> (<em>str</em>) The person to check.</p></li>
<li><p><strong>negated</strong> (<em>bool</em>) Check if verb is negated.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> Result of check.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_is_past_participle">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_is_past_participle</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_is_past_participle"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_is_past_participle" title="Permalink to this definition"></a></dt>
<dd><p>Checks whether the verb is in past participle.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>verb</strong> (<em>str</em>) The verb to check.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> The result of the check.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.utils.verb_conjugation.conjugate.verb_actor_stance_components">
<code class="sig-prename descclassname">evennia.utils.verb_conjugation.conjugate.</code><code class="sig-name descname">verb_actor_stance_components</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">verb</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/conjugate.html#verb_actor_stance_components"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.conjugate.verb_actor_stance_components" title="Permalink to this definition"></a></dt>
<dd><p>Figure out actor stance components of a verb.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>verb</strong> (<em>str</em>) The verb to analyze</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>tuple</em> </p>
<dl class="simple">
<dt>The 2nd person (you) and 3rd person forms of the verb,</dt><dd><p>in the same tense as the ingoing verb.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.verb_conjugation.conjugate.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li><a href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC</a> -
<a href="https://discord.gg/NecFePw">Discord</a> -
<a href="https://groups.google.com/forum/#%21forum/evennia">Forums</a>
</li>
<li><a href="http://evennia.blogspot.com/">Evennia Dev blog</a> </li>
</ul>
<h3>Versions</h3>
<ul>
<li><a href="evennia.utils.verb_conjugation.conjugate.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.verb_conjugation.conjugate</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>

View file

@ -0,0 +1,116 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>evennia.utils.verb_conjugation &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.verb_conjugation</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-evennia.utils.verb_conjugation">
<span id="evennia-utils-verb-conjugation"></span><h1>evennia.utils.verb_conjugation<a class="headerlink" href="#module-evennia.utils.verb_conjugation" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.verb_conjugation.conjugate.html">evennia.utils.verb_conjugation.conjugate</a></li>
<li class="toctree-l1"><a class="reference internal" href="evennia.utils.verb_conjugation.tests.html">evennia.utils.verb_conjugation.tests</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.verb_conjugation.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li><a href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC</a> -
<a href="https://discord.gg/NecFePw">Discord</a> -
<a href="https://groups.google.com/forum/#%21forum/evennia">Forums</a>
</li>
<li><a href="http://evennia.blogspot.com/">Evennia Dev blog</a> </li>
</ul>
<h3>Versions</h3>
<ul>
<li><a href="evennia.utils.verb_conjugation.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.verb_conjugation</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>

View file

@ -0,0 +1,813 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>evennia.utils.verb_conjugation.tests &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.verb_conjugation.tests</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-evennia.utils.verb_conjugation.tests">
<span id="evennia-utils-verb-conjugation-tests"></span><h1>evennia.utils.verb_conjugation.tests<a class="headerlink" href="#module-evennia.utils.verb_conjugation.tests" title="Permalink to this headline"></a></h1>
<p>Unit tests for verb conjugation.</p>
<dl class="py class">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate">
<em class="property">class </em><code class="sig-prename descclassname">evennia.utils.verb_conjugation.tests.</code><code class="sig-name descname">TestVerbConjugate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">methodName</span><span class="o">=</span><span class="default_value">'runTest'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/tests.html#TestVerbConjugate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.test.testcases.TestCase</span></code></p>
<p>Test the conjugation.</p>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive">
<code class="sig-name descname">test_verb_infinitive</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate">
<code class="sig-name descname">test_verb_conjugate</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present">
<code class="sig-name descname">test_verb_present</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle">
<code class="sig-name descname">test_verb_present_participle</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past">
<code class="sig-name descname">test_verb_past</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle">
<code class="sig-name descname">test_verb_past_participle</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_get_all_tenses">
<code class="sig-name descname">test_verb_get_all_tenses</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/verb_conjugation/tests.html#TestVerbConjugate.test_verb_get_all_tenses"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_get_all_tenses" title="Permalink to this definition"></a></dt>
<dd><p>Test getting all tenses.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense">
<code class="sig-name descname">test_verb_tense</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense">
<code class="sig-name descname">test_verb_is_tense</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present">
<code class="sig-name descname">test_verb_is_present</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle">
<code class="sig-name descname">test_verb_is_present_participle</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past">
<code class="sig-name descname">test_verb_is_past</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle">
<code class="sig-name descname">test_verb_is_past_participle</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components">
<code class="sig-name descname">test_verb_actor_stance_components</code><em class="property"> = None</em><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_00_have">
<code class="sig-name descname">test_verb_actor_stance_components_00_have</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_00_have" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=have, expected=(have, has)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_01_swimming">
<code class="sig-name descname">test_verb_actor_stance_components_01_swimming</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_01_swimming" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=swimming, expected=(swimming, swimming)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_02_give">
<code class="sig-name descname">test_verb_actor_stance_components_02_give</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_02_give" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=give, expected=(give, gives)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_03_given">
<code class="sig-name descname">test_verb_actor_stance_components_03_given</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_03_given" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=given, expected=(given, given)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_04_am">
<code class="sig-name descname">test_verb_actor_stance_components_04_am</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_04_am" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=am, expected=(are, is)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_05_doing">
<code class="sig-name descname">test_verb_actor_stance_components_05_doing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_05_doing" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=doing, expected=(doing, doing)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_06_are">
<code class="sig-name descname">test_verb_actor_stance_components_06_are</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_06_are" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=are, expected=(are, is)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_07_had">
<code class="sig-name descname">test_verb_actor_stance_components_07_had</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_07_had" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=had, expected=(had, had)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_08_grin">
<code class="sig-name descname">test_verb_actor_stance_components_08_grin</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_08_grin" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=grin, expected=(grin, grins)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_09_smile">
<code class="sig-name descname">test_verb_actor_stance_components_09_smile</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_09_smile" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=smile, expected=(smile, smiles)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_10_vex">
<code class="sig-name descname">test_verb_actor_stance_components_10_vex</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_10_vex" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=vex, expected=(vex, vexes)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_11_thrust">
<code class="sig-name descname">test_verb_actor_stance_components_11_thrust</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_actor_stance_components_11_thrust" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=thrust, expected=(thrust, thrusts)]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_0_inf">
<code class="sig-name descname">test_verb_conjugate_0_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_0_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=inf, verb=have, expected=have].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_1_inf">
<code class="sig-name descname">test_verb_conjugate_1_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_1_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=inf, verb=swim, expected=swim].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_2_inf">
<code class="sig-name descname">test_verb_conjugate_2_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_2_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=inf, verb=give, expected=give].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_3_inf">
<code class="sig-name descname">test_verb_conjugate_3_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_3_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=inf, verb=given, expected=give].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_4_inf">
<code class="sig-name descname">test_verb_conjugate_4_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_4_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=inf, verb=am, expected=be].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_5_inf">
<code class="sig-name descname">test_verb_conjugate_5_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_5_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=inf, verb=doing, expected=do].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_6_inf">
<code class="sig-name descname">test_verb_conjugate_6_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_6_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=inf, verb=are, expected=be].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_7_2sgpres">
<code class="sig-name descname">test_verb_conjugate_7_2sgpres</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_7_2sgpres" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=2sgpres, verb=am, expected=are].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_8_3sgpres">
<code class="sig-name descname">test_verb_conjugate_8_3sgpres</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_conjugate_8_3sgpres" title="Permalink to this definition"></a></dt>
<dd><p>Test conjugation for different tenses [with tense=3sgpres, verb=am, expected=is].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_0_have">
<code class="sig-name descname">test_verb_infinitive_0_have</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_0_have" title="Permalink to this definition"></a></dt>
<dd><p>Test the infinite-getter [with verb=have, expected=have].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_1_swim">
<code class="sig-name descname">test_verb_infinitive_1_swim</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_1_swim" title="Permalink to this definition"></a></dt>
<dd><p>Test the infinite-getter [with verb=swim, expected=swim].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_2_give">
<code class="sig-name descname">test_verb_infinitive_2_give</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_2_give" title="Permalink to this definition"></a></dt>
<dd><p>Test the infinite-getter [with verb=give, expected=give].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_3_given">
<code class="sig-name descname">test_verb_infinitive_3_given</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_3_given" title="Permalink to this definition"></a></dt>
<dd><p>Test the infinite-getter [with verb=given, expected=give].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_4_am">
<code class="sig-name descname">test_verb_infinitive_4_am</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_4_am" title="Permalink to this definition"></a></dt>
<dd><p>Test the infinite-getter [with verb=am, expected=be].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_5_doing">
<code class="sig-name descname">test_verb_infinitive_5_doing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_5_doing" title="Permalink to this definition"></a></dt>
<dd><p>Test the infinite-getter [with verb=doing, expected=do].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_6_are">
<code class="sig-name descname">test_verb_infinitive_6_are</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_infinitive_6_are" title="Permalink to this definition"></a></dt>
<dd><p>Test the infinite-getter [with verb=are, expected=be].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_0_1st">
<code class="sig-name descname">test_verb_is_past_0_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_0_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=have, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_1_1st">
<code class="sig-name descname">test_verb_is_past_1_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_1_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=swim, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_2_1st">
<code class="sig-name descname">test_verb_is_past_2_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_2_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=give, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_3_1st">
<code class="sig-name descname">test_verb_is_past_3_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_3_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=given, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_4_1st">
<code class="sig-name descname">test_verb_is_past_4_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_4_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=am, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_5_1st">
<code class="sig-name descname">test_verb_is_past_5_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_5_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=doing, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_6_1st">
<code class="sig-name descname">test_verb_is_past_6_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_6_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=are, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_7_2nd">
<code class="sig-name descname">test_verb_is_past_7_2nd</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_7_2nd" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=2nd, verb=were, expected=True]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_0_have">
<code class="sig-name descname">test_verb_is_past_participle_0_have</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_0_have" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=have, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_1_swimming">
<code class="sig-name descname">test_verb_is_past_participle_1_swimming</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_1_swimming" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=swimming, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_2_give">
<code class="sig-name descname">test_verb_is_past_participle_2_give</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_2_give" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=give, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_3_given">
<code class="sig-name descname">test_verb_is_past_participle_3_given</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_3_given" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=given, expected=True]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_4_am">
<code class="sig-name descname">test_verb_is_past_participle_4_am</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_4_am" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=am, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_5_doing">
<code class="sig-name descname">test_verb_is_past_participle_5_doing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_5_doing" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=doing, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_6_are">
<code class="sig-name descname">test_verb_is_past_participle_6_are</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_6_are" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=are, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_7_had">
<code class="sig-name descname">test_verb_is_past_participle_7_had</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_past_participle_7_had" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=had, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_0_1st">
<code class="sig-name descname">test_verb_is_present_0_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_0_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=have, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_1_1st">
<code class="sig-name descname">test_verb_is_present_1_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_1_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=swim, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_2_1st">
<code class="sig-name descname">test_verb_is_present_2_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_2_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=give, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_3_1st">
<code class="sig-name descname">test_verb_is_present_3_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_3_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=given, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_4_1st">
<code class="sig-name descname">test_verb_is_present_4_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_4_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=am, expected=True]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_5_1st">
<code class="sig-name descname">test_verb_is_present_5_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_5_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=doing, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_6_1st">
<code class="sig-name descname">test_verb_is_present_6_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_6_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=are, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_7_1st">
<code class="sig-name descname">test_verb_is_present_7_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_7_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with person=1st, verb=had, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_0_have">
<code class="sig-name descname">test_verb_is_present_participle_0_have</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_0_have" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=have, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_1_swim">
<code class="sig-name descname">test_verb_is_present_participle_1_swim</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_1_swim" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=swim, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_2_give">
<code class="sig-name descname">test_verb_is_present_participle_2_give</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_2_give" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=give, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_3_given">
<code class="sig-name descname">test_verb_is_present_participle_3_given</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_3_given" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=given, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_4_am">
<code class="sig-name descname">test_verb_is_present_participle_4_am</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_4_am" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=am, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_5_doing">
<code class="sig-name descname">test_verb_is_present_participle_5_doing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_5_doing" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=doing, expected=True]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_6_are">
<code class="sig-name descname">test_verb_is_present_participle_6_are</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_present_participle_6_are" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with verb=are, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_0_inf">
<code class="sig-name descname">test_verb_is_tense_0_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_0_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with tense=inf, verb=have, expected=True]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_1_inf">
<code class="sig-name descname">test_verb_is_tense_1_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_1_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with tense=inf, verb=swim, expected=True]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_2_inf">
<code class="sig-name descname">test_verb_is_tense_2_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_2_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with tense=inf, verb=give, expected=True]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_3_inf">
<code class="sig-name descname">test_verb_is_tense_3_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_3_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with tense=inf, verb=given, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_4_inf">
<code class="sig-name descname">test_verb_is_tense_4_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_4_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with tense=inf, verb=am, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_5_inf">
<code class="sig-name descname">test_verb_is_tense_5_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_5_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with tense=inf, verb=doing, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_6_inf">
<code class="sig-name descname">test_verb_is_tense_6_inf</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_is_tense_6_inf" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense-checker [with tense=inf, verb=are, expected=False]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_0_1st">
<code class="sig-name descname">test_verb_past_0_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_0_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=1st, verb=have, expected=had].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_1_1st">
<code class="sig-name descname">test_verb_past_1_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_1_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=1st, verb=swim, expected=swam].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_2_1st">
<code class="sig-name descname">test_verb_past_2_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_2_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=1st, verb=give, expected=gave].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_3_1st">
<code class="sig-name descname">test_verb_past_3_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_3_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=1st, verb=given, expected=gave].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_4_1st">
<code class="sig-name descname">test_verb_past_4_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_4_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=1st, verb=am, expected=was].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_5_1st">
<code class="sig-name descname">test_verb_past_5_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_5_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=1st, verb=doing, expected=did].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_6_1st">
<code class="sig-name descname">test_verb_past_6_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_6_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=1st, verb=are, expected=was].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_7_2nd">
<code class="sig-name descname">test_verb_past_7_2nd</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_7_2nd" title="Permalink to this definition"></a></dt>
<dd><p>Test the past getter [with person=2nd, verb=were, expected=were].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_0_have">
<code class="sig-name descname">test_verb_past_participle_0_have</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_0_have" title="Permalink to this definition"></a></dt>
<dd><p>Test the past participle [with verb=have, expected=had].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_1_swim">
<code class="sig-name descname">test_verb_past_participle_1_swim</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_1_swim" title="Permalink to this definition"></a></dt>
<dd><p>Test the past participle [with verb=swim, expected=swum].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_2_give">
<code class="sig-name descname">test_verb_past_participle_2_give</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_2_give" title="Permalink to this definition"></a></dt>
<dd><p>Test the past participle [with verb=give, expected=given].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_3_given">
<code class="sig-name descname">test_verb_past_participle_3_given</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_3_given" title="Permalink to this definition"></a></dt>
<dd><p>Test the past participle [with verb=given, expected=given].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_4_am">
<code class="sig-name descname">test_verb_past_participle_4_am</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_4_am" title="Permalink to this definition"></a></dt>
<dd><p>Test the past participle [with verb=am, expected=been].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_5_doing">
<code class="sig-name descname">test_verb_past_participle_5_doing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_5_doing" title="Permalink to this definition"></a></dt>
<dd><p>Test the past participle [with verb=doing, expected=done].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_6_are">
<code class="sig-name descname">test_verb_past_participle_6_are</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_past_participle_6_are" title="Permalink to this definition"></a></dt>
<dd><p>Test the past participle [with verb=are, expected=been].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_0_1st">
<code class="sig-name descname">test_verb_present_0_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_0_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=1st, verb=have, expected=have].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_1_1st">
<code class="sig-name descname">test_verb_present_1_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_1_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=1st, verb=swim, expected=swim].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_2_1st">
<code class="sig-name descname">test_verb_present_2_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_2_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=1st, verb=give, expected=give].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_3_1st">
<code class="sig-name descname">test_verb_present_3_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_3_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=1st, verb=given, expected=give].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_4_1st">
<code class="sig-name descname">test_verb_present_4_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_4_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=1st, verb=am, expected=am].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_5_1st">
<code class="sig-name descname">test_verb_present_5_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_5_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=1st, verb=doing, expected=do].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_6_1st">
<code class="sig-name descname">test_verb_present_6_1st</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_6_1st" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=1st, verb=are, expected=am].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_7_2nd">
<code class="sig-name descname">test_verb_present_7_2nd</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_7_2nd" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=2nd, verb=were, expected=are].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_8_3rd">
<code class="sig-name descname">test_verb_present_8_3rd</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_8_3rd" title="Permalink to this definition"></a></dt>
<dd><p>Test the present [with person=3rd, verb=am, expected=is].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_0_have">
<code class="sig-name descname">test_verb_present_participle_0_have</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_0_have" title="Permalink to this definition"></a></dt>
<dd><p>Test the present_participle [with verb=have, expected=having]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_1_swim">
<code class="sig-name descname">test_verb_present_participle_1_swim</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_1_swim" title="Permalink to this definition"></a></dt>
<dd><p>Test the present_participle [with verb=swim, expected=swimming]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_2_give">
<code class="sig-name descname">test_verb_present_participle_2_give</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_2_give" title="Permalink to this definition"></a></dt>
<dd><p>Test the present_participle [with verb=give, expected=giving]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_3_given">
<code class="sig-name descname">test_verb_present_participle_3_given</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_3_given" title="Permalink to this definition"></a></dt>
<dd><p>Test the present_participle [with verb=given, expected=giving]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_4_am">
<code class="sig-name descname">test_verb_present_participle_4_am</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_4_am" title="Permalink to this definition"></a></dt>
<dd><p>Test the present_participle [with verb=am, expected=being]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_5_doing">
<code class="sig-name descname">test_verb_present_participle_5_doing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_5_doing" title="Permalink to this definition"></a></dt>
<dd><p>Test the present_participle [with verb=doing, expected=doing]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_6_are">
<code class="sig-name descname">test_verb_present_participle_6_are</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_present_participle_6_are" title="Permalink to this definition"></a></dt>
<dd><p>Test the present_participle [with verb=are, expected=being]</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_0_have">
<code class="sig-name descname">test_verb_tense_0_have</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_0_have" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense retriever [with verb=have, expected=infinitive].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_1_swim">
<code class="sig-name descname">test_verb_tense_1_swim</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_1_swim" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense retriever [with verb=swim, expected=infinitive].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_2_give">
<code class="sig-name descname">test_verb_tense_2_give</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_2_give" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense retriever [with verb=give, expected=infinitive].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_3_given">
<code class="sig-name descname">test_verb_tense_3_given</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_3_given" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense retriever [with verb=given, expected=past participle].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_4_am">
<code class="sig-name descname">test_verb_tense_4_am</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_4_am" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense retriever [with verb=am, expected=1st singular present].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_5_doing">
<code class="sig-name descname">test_verb_tense_5_doing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_5_doing" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense retriever [with verb=doing, expected=present participle].</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_6_are">
<code class="sig-name descname">test_verb_tense_6_are</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.utils.verb_conjugation.tests.TestVerbConjugate.test_verb_tense_6_are" title="Permalink to this definition"></a></dt>
<dd><p>Test the tense retriever [with verb=are, expected=2nd singular present].</p>
</dd></dl>
</dd></dl>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.verb_conjugation.tests.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li><a href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC</a> -
<a href="https://discord.gg/NecFePw">Discord</a> -
<a href="https://groups.google.com/forum/#%21forum/evennia">Forums</a>
</li>
<li><a href="http://evennia.blogspot.com/">Evennia Dev blog</a> </li>
</ul>
<h3>Versions</h3>
<ul>
<li><a href="evennia.utils.verb_conjugation.tests.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.verb_conjugation.tests</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>