<spanid="evennia-utils-containers"></span><h1>evennia.utils.containers<aclass="headerlink"href="#module-evennia.utils.containers"title="Permalink to this headline">¶</a></h1>
<p>Containers</p>
<p>Containers are storage classes usually initialized from a setting. They
represent Singletons and acts as a convenient place to find resources (
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.utils.containers.</code><codeclass="sig-name descname">Container</code><aclass="reference internal"href="../_modules/evennia/utils/containers.html#Container"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.Container"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">storage_modules</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.utils.containers.Container.storage_modules"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#Container.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.Container.__init__"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">load_data</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#Container.load_data"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.Container.load_data"title="Permalink to this definition">¶</a></dt>
<dd><p>Delayed import to avoid eventual circular imports from inside
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#Container.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.Container.get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">all</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#Container.all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.Container.all"title="Permalink to this definition">¶</a></dt>
<dd><p>Get all stored data</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>scripts (list)</em>– All global script objects stored on the container.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.utils.containers.</code><codeclass="sig-name descname">OptionContainer</code><aclass="reference internal"href="../_modules/evennia/utils/containers.html#OptionContainer"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.OptionContainer"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">storage_modules</code><emclass="property"> = ['evennia.utils.optionclasses']</em><aclass="headerlink"href="#evennia.utils.containers.OptionContainer.storage_modules"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.utils.containers.</code><codeclass="sig-name descname">GlobalScriptContainer</code><aclass="reference internal"href="../_modules/evennia/utils/containers.html#GlobalScriptContainer"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.GlobalScriptContainer"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#GlobalScriptContainer.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.GlobalScriptContainer.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Note: We must delay loading of typeclasses since this module may get
initialized before Scripts are actually initialized.</p>
<codeclass="sig-name descname">start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#GlobalScriptContainer.start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.GlobalScriptContainer.start"title="Permalink to this definition">¶</a></dt>
<dd><p>Called last in evennia.__init__ to initialize the container late
(after script typeclasses have finished loading).</p>
<p>We include all global scripts in the handler and
<codeclass="sig-name descname">load_data</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#GlobalScriptContainer.load_data"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.GlobalScriptContainer.load_data"title="Permalink to this definition">¶</a></dt>
<dd><p>This delayed import avoids trying to load Scripts before they are
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#GlobalScriptContainer.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.GlobalScriptContainer.get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">all</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/containers.html#GlobalScriptContainer.all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.containers.GlobalScriptContainer.all"title="Permalink to this definition">¶</a></dt>
<dd><p>Get all global scripts. Note that this will not auto-start
scripts defined in settings.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>scripts (list)</em>– All global script objects stored on the container.</p>