evennia/docs/2.x/api/evennia.web.website.views.help.html
2023-12-20 18:20:52 +01:00

326 lines
No EOL
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>evennia.web.website.views.help &#8212; Evennia 2.x 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" />
<link rel="next" title="evennia.web.website.views.index" href="evennia.web.website.views.index.html" />
<link rel="prev" title="evennia.web.website.views.errors" href="evennia.web.website.views.errors.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="right" >
<a href="evennia.web.website.views.index.html" title="evennia.web.website.views.index"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.web.website.views.errors.html" title="evennia.web.website.views.errors"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.web.html" >evennia.web</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.web.website.html" >evennia.web.website</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.web.website.views.html" accesskey="U">evennia.web.website.views</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.web.website.views.help</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<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>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.web.website.views.errors.html"
title="previous chapter">evennia.web.website.views.errors</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.web.website.views.index.html"
title="next chapter">evennia.web.website.views.index</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.web.website.views.help.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.web.website.views.help">
<span id="evennia-web-website-views-help"></span><h1>evennia.web.website.views.help<a class="headerlink" href="#module-evennia.web.website.views.help" title="Permalink to this headline"></a></h1>
<p>Views to manipulate help entries.</p>
<dl class="simple">
<dt>Multi entry object type supported added by DaveWithTheNiceHat 2021</dt><dd><p>Pull Request #2429</p>
</dd>
</dl>
<dl class="py function">
<dt id="evennia.web.website.views.help.get_help_category">
<code class="sig-prename descclassname">evennia.web.website.views.help.</code><code class="sig-name descname">get_help_category</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">help_entry</span></em>, <em class="sig-param"><span class="n">slugify_cat</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/web/website/views/help.html#get_help_category"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.get_help_category" title="Permalink to this definition"></a></dt>
<dd><p>Returns help category.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>help_entry</strong> (<a class="reference internal" href="evennia.help.models.html#evennia.help.models.HelpEntry" title="evennia.help.models.HelpEntry"><em>HelpEntry</em></a><em>, </em><a class="reference internal" href="evennia.help.filehelp.html#evennia.help.filehelp.FileHelpEntry" title="evennia.help.filehelp.FileHelpEntry"><em>FileHelpEntry</em></a><em> or </em><a class="reference internal" href="evennia.commands.command.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><em>Command</em></a>) Help entry instance.</p></li>
<li><p><strong>slugify_cat</strong> (<em>bool</em>) If true the return string is slugified. Default is True.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>If an entry does not have a <strong>help_category</strong> attribute, DEFAULT_HELP_CATEGORY from the
settings file is used.
If the entry does not have attribute web_help_entries. One is created with a slugified
copy of the attribute help_category. This attribute is used for sorting the entries for the
help index (ListView) page.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><em>help_category (str)</em> The category for the help entry.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.web.website.views.help.get_help_topic">
<code class="sig-prename descclassname">evennia.web.website.views.help.</code><code class="sig-name descname">get_help_topic</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">help_entry</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/web/website/views/help.html#get_help_topic"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.get_help_topic" title="Permalink to this definition"></a></dt>
<dd><p>Get the topic of the help entry.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>help_entry</strong> (<a class="reference internal" href="evennia.help.models.html#evennia.help.models.HelpEntry" title="evennia.help.models.HelpEntry"><em>HelpEntry</em></a><em>, </em><a class="reference internal" href="evennia.help.filehelp.html#evennia.help.filehelp.FileHelpEntry" title="evennia.help.filehelp.FileHelpEntry"><em>FileHelpEntry</em></a><em> or </em><a class="reference internal" href="evennia.commands.command.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><em>Command</em></a>) Help entry instance.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>help_topic (str)</em> The topic of the help entry. Default is unknown_topic.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.web.website.views.help.can_read_topic">
<code class="sig-prename descclassname">evennia.web.website.views.help.</code><code class="sig-name descname">can_read_topic</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cmd_or_topic</span></em>, <em class="sig-param"><span class="n">account</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/web/website/views/help.html#can_read_topic"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.can_read_topic" title="Permalink to this definition"></a></dt>
<dd><p>Check if an account or puppet has read access to a help entry.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>cmd_or_topic</strong> (<a class="reference internal" href="evennia.commands.command.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><em>Command</em></a><em>, </em><a class="reference internal" href="evennia.help.models.html#evennia.help.models.HelpEntry" title="evennia.help.models.HelpEntry"><em>HelpEntry</em></a><em> or </em><a class="reference internal" href="evennia.help.filehelp.html#evennia.help.filehelp.FileHelpEntry" title="evennia.help.filehelp.FileHelpEntry"><em>FileHelpEntry</em></a>) The topic/command to test.</p></li>
<li><p><strong>account</strong> the account or puppet checking for access.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> If command can be viewed or not.</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>This uses the read lock. If no read lock is defined, the topic is assumed readable
by all.
Even if this returns False, the entry will still be visible in the help index unless
<strong>can_list_topic</strong> is also returning False.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.web.website.views.help.collect_topics">
<code class="sig-prename descclassname">evennia.web.website.views.help.</code><code class="sig-name descname">collect_topics</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">account</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/web/website/views/help.html#collect_topics"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.collect_topics" title="Permalink to this definition"></a></dt>
<dd><p>Collect help topics from all sources (cmd/db/file).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>account</strong> (<em>Character</em><em> or </em><em>Account</em>) Account or Character to collect help topics from.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>cmd_help_topics (dict)</em> contains Command instances.
db_help_topics (dict): contains HelpEntry instances.
file_help_topics (dict): contains FileHelpEntry instances</p>
</dd>
</dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.web.website.views.help.HelpMixin">
<em class="property">class </em><code class="sig-prename descclassname">evennia.web.website.views.help.</code><code class="sig-name descname">HelpMixin</code><a class="reference internal" href="../_modules/evennia/web/website/views/help.html#HelpMixin"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.HelpMixin" 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>This is a “mixin”, a modifier of sorts.</p>
<p>Any view class with this in its inheritance list will be modified to work
with HelpEntry objects instead of generic Objects or otherwise.</p>
<dl class="py attribute">
<dt id="evennia.web.website.views.help.HelpMixin.page_title">
<code class="sig-name descname">page_title</code><em class="property"> = 'Help'</em><a class="headerlink" href="#evennia.web.website.views.help.HelpMixin.page_title" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.web.website.views.help.HelpMixin.get_queryset">
<code class="sig-name descname">get_queryset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/web/website/views/help.html#HelpMixin.get_queryset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.HelpMixin.get_queryset" title="Permalink to this definition"></a></dt>
<dd><p>Django hook; here we want to return a list of only those HelpEntries
and other documentation that the current user is allowed to see.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><em>queryset (list)</em> List of Help entries available to the user.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.web.website.views.help.HelpListView">
<em class="property">class </em><code class="sig-prename descclassname">evennia.web.website.views.help.</code><code class="sig-name descname">HelpListView</code><span class="sig-paren">(</span><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/web/website/views/help.html#HelpListView"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.HelpListView" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.web.website.views.help.HelpMixin" title="evennia.web.website.views.help.HelpMixin"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.web.website.views.help.HelpMixin</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">django.views.generic.list.ListView</span></code></p>
<p>Returns a list of help entries that can be viewed by a user, authenticated
or not.</p>
<dl class="py attribute">
<dt id="evennia.web.website.views.help.HelpListView.paginate_by">
<code class="sig-name descname">paginate_by</code><em class="property"> = 500</em><a class="headerlink" href="#evennia.web.website.views.help.HelpListView.paginate_by" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.web.website.views.help.HelpListView.template_name">
<code class="sig-name descname">template_name</code><em class="property"> = 'website/help_list.html'</em><a class="headerlink" href="#evennia.web.website.views.help.HelpListView.template_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.web.website.views.help.HelpListView.page_title">
<code class="sig-name descname">page_title</code><em class="property"> = 'Help Index'</em><a class="headerlink" href="#evennia.web.website.views.help.HelpListView.page_title" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.web.website.views.help.HelpDetailView">
<em class="property">class </em><code class="sig-prename descclassname">evennia.web.website.views.help.</code><code class="sig-name descname">HelpDetailView</code><span class="sig-paren">(</span><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/web/website/views/help.html#HelpDetailView"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.HelpDetailView" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.web.website.views.help.HelpMixin" title="evennia.web.website.views.help.HelpMixin"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.web.website.views.help.HelpMixin</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">django.views.generic.detail.DetailView</span></code></p>
<p>Returns the detail page for a given help entry.</p>
<dl class="py attribute">
<dt id="evennia.web.website.views.help.HelpDetailView.template_name">
<code class="sig-name descname">template_name</code><em class="property"> = 'website/help_detail.html'</em><a class="headerlink" href="#evennia.web.website.views.help.HelpDetailView.template_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.web.website.views.help.HelpDetailView.page_title">
<em class="property">property </em><code class="sig-name descname">page_title</code><a class="headerlink" href="#evennia.web.website.views.help.HelpDetailView.page_title" title="Permalink to this definition"></a></dt>
<dd><p>str(object=) -&gt; str
str(bytes_or_buffer[, encoding[, errors]]) -&gt; str</p>
<p>Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to strict.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.web.website.views.help.HelpDetailView.get_context_data">
<code class="sig-name descname">get_context_data</code><span class="sig-paren">(</span><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/web/website/views/help.html#HelpDetailView.get_context_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.HelpDetailView.get_context_data" title="Permalink to this definition"></a></dt>
<dd><p>Adds navigational data to the template to let browsers go to the next
or previous entry in the help list.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><em>context (dict)</em> Django context object</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.web.website.views.help.HelpDetailView.get_object">
<code class="sig-name descname">get_object</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">queryset</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/web/website/views/help.html#HelpDetailView.get_object"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.web.website.views.help.HelpDetailView.get_object" title="Permalink to this definition"></a></dt>
<dd><p>Override of Django hook that retrieves an object by category and topic
instead of pk and slug.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>queryset</strong> (<em>list</em>) A list of help entry objects.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>entry (HelpEntry, FileHelpEntry or Command)</em> HelpEntry requested in the URL.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
</div>
</div>
</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="right" >
<a href="evennia.web.website.views.index.html" title="evennia.web.website.views.index"
>next</a> |</li>
<li class="right" >
<a href="evennia.web.website.views.errors.html" title="evennia.web.website.views.errors"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.web.html" >evennia.web</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.web.website.html" >evennia.web.website</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.web.website.views.html" >evennia.web.website.views</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.web.website.views.help</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2023, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>