<spanid="evennia-locks-lockfuncs"></span><h1>evennia.locks.lockfuncs<aclass="headerlink"href="#module-evennia.locks.lockfuncs"title="Permalink to this headline">¶</a></h1>
<p>This module provides a set of permission lock functions for use
with Evennia’s permissions system.</p>
<p>To call these locks, make sure this module is included in the
settings tuple <strong>PERMISSION_FUNC_MODULES</strong> then define a lock on the form
‘<access_type>:func(args)’ and add it to the object’s lockhandler.
Run the <strong>access()</strong> method of the handler to execute the lock check.</p>
<p>Note that <strong>accessing_obj</strong> and <strong>accessed_obj</strong> can be any object type
with a lock variable/field, so be careful to not expect
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">true</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#true"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.true"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">all</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.all"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">false</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#false"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.false"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">none</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#none"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.none"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">superuser</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#superuser"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.superuser"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">self</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#self"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.self"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">perm</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#perm"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.perm"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">perm_above</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#perm_above"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.perm_above"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">pperm</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#pperm"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.pperm"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">pperm_above</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#pperm_above"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.pperm_above"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">dbref</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#dbref"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.dbref"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">pdbref</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#pdbref"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.pdbref"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">id</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#id"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.id"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">pid</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#pid"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.pid"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">attr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#attr"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.attr"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">objattr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#objattr"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.objattr"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">locattr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#locattr"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.locattr"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">objlocattr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#objlocattr"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.objlocattr"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">attr_eq</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#attr_eq"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.attr_eq"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">attr_gt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#attr_gt"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.attr_gt"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">attr_ge</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#attr_ge"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.attr_ge"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">attr_lt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#attr_lt"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.attr_lt"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">attr_le</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#attr_le"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.attr_le"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">attr_ne</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#attr_ne"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.attr_ne"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">tag</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#tag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.tag"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">objtag</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#objtag"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.objtag"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">inside</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#inside"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.inside"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">inside_rec</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#inside_rec"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.inside_rec"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">holds</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#holds"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.holds"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">has_account</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#has_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.has_account"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.locks.lockfuncs.</code><codeclass="sig-name descname">serversetting</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">accessed_obj</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/locks/lockfuncs.html#serversetting"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.locks.lockfuncs.serversetting"title="Permalink to this definition">¶</a></dt>