<spanid="evennia-utils-search"></span><h1>evennia.utils.search<aclass="headerlink"href="#module-evennia.utils.search"title="Permalink to this headline">¶</a></h1>
<p>This is a convenient container gathering all the main
search methods for the various database tables.</p>
<p>It is intended to be used e.g. as</p>
<p>> from evennia.utils import search
> match = search.objects(…)</p>
<p>Note that this is not intended to be a complete listing of all search
methods! You need to refer to the respective manager to get all
possible search methods. To get to the managers from your code, import
the database model and call its ‘objects’ property.</p>
<p>Also remember that all commands in this file return lists (also if
there is only one match) unless noted otherwise.</p>
<dlclass="simple">
<dt>Example: To reach the search method ‘get_object_with_account’</dt><dd><p>in evennia/objects/managers.py:</p>
</dd>
</dl>
<p>> from evennia.objects.models import ObjectDB
> match = Object.objects.get_object_with_account(…)</p>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_account</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">exact</span><spanclass="o">=</span><spanclass="default_value">True</span></em>, <emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.search.search_account"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">only_timed</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.search.search_script"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_message</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sender</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">receiver</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">freetext</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">dbref</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.search.search_message"title="Permalink to this definition">¶</a></dt>
<dd><p>Search the message database for particular messages. At least
one of the arguments must be given to do a search.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>sender</strong> (<em>Object</em><em> or </em><em>Account</em><em>, </em><em>optional</em>) – Get messages sent by a particular account or object</p></li>
<li><p><strong>receiver</strong> (<em>Object</em><em>, </em><em>Account</em><em> or </em><em>Channel</em><em>, </em><em>optional</em>) – Get messages
received by a certain account,object or channel</p></li>
<li><p><strong>freetext</strong> (<em>str</em>) – Search for a text string in a message. NOTE:
This can potentially be slow, so make sure to supply one of
the other arguments to limit the search.</p></li>
<li><p><strong>dbref</strong> (<em>int</em>) – The exact database id of the message. This will override
all other search criteria since it’s unique and
always gives only one match.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>messages (list or Msg)</em>– A list of message matches or a single match if <strong>dbref</strong> was given.</p>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_channel</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">exact</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.search.search_channel"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_help_entry</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">help_category</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.search.search_help_entry"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_tag</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">category</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">tagtype</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.utils.search.search_tag"title="Permalink to this definition">¶</a></dt>
<dd><p>Find object based on tag or category.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – The tag key to search for.</p></li>
<li><p><strong>category</strong> (<em>str</em><em>, </em><em>optional</em>) – The category of tag
to search for. If not set, uncategorized
tags will be searched.</p></li>
<li><p><strong>tagtype</strong> (<em>str</em><em>, </em><em>optional</em>) –‘type’ of Tag, by default
this is either <strong>None</strong> (a normal Tag), <strong>alias</strong> or
<strong>permission</strong>. This always apply to all queried tags.</p></li>
<li><p><strong>kwargs</strong> (<em>any</em>) – Other optional parameter that may be supported
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_script_tag</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">category</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">tagtype</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/search.html#search_script_tag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.search.search_script_tag"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_account_tag</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">category</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">tagtype</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/search.html#search_account_tag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.search.search_account_tag"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.search.</code><codeclass="sig-name descname">search_channel_tag</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">category</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">tagtype</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/search.html#search_channel_tag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.search.search_channel_tag"title="Permalink to this definition">¶</a></dt>