2020-07-14 00:21:00 +02:00
<!DOCTYPE html>
2020-10-15 01:31:30 +02:00
< html >
2020-07-14 00:21:00 +02:00
< head >
< meta charset = "utf-8" / >
2021-05-16 00:06:01 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / > < meta name = "generator" content = "Docutils 0.17.1: http://docutils.sourceforge.net/" / >
2020-07-14 00:21:00 +02:00
< title > evennia.utils.optionhandler — 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" / >
2022-02-06 18:34:09 +00:00
< link rel = "search" title = "Search" href = "../search.html" / >
< link rel = "next" title = "evennia.utils.picklefield" href = "evennia.utils.picklefield.html" / >
< link rel = "prev" title = "evennia.utils.optionclasses" href = "evennia.utils.optionclasses.html" / >
2020-07-14 00:21:00 +02:00
< / 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 >
2022-02-06 18:34:09 +00:00
< li class = "right" >
< a href = "evennia.utils.picklefield.html" title = "evennia.utils.picklefield"
accesskey="N">next< / a > |< / li >
< li class = "right" >
< a href = "evennia.utils.optionclasses.html" title = "evennia.utils.optionclasses"
accesskey="P">previous< / a > |< / li >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-0" > < a href = "../index.html" > Evennia 1.0-dev< / a > » < / li >
2022-02-06 18:34:09 +00:00
< li class = "nav-item nav-item-1" > < a href = "../Evennia-API.html" > API Summary< / a > » < / li >
< li class = "nav-item nav-item-2" > < a href = "evennia-api.html" > evennia< / a > » < / li >
< li class = "nav-item nav-item-3" > < a href = "evennia.html" > evennia< / a > » < / li >
< li class = "nav-item nav-item-4" > < a href = "evennia.utils.html" accesskey = "U" > evennia.utils< / a > » < / li >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-this" > < a href = "" > evennia.utils.optionhandler< / a > < / li >
2020-07-14 00:21:00 +02:00
< / ul >
2021-06-23 18:58:26 +02:00
< div class = "develop" > develop branch< / div >
2020-07-14 00:21:00 +02:00
< / div >
< div class = "document" >
< div class = "documentwrapper" >
< div class = "bodywrapper" >
< div class = "body" role = "main" >
2021-05-16 00:06:01 +02:00
< section id = "module-evennia.utils.optionhandler" >
2020-07-14 00:21:00 +02:00
< span id = "evennia-utils-optionhandler" > < / span > < h1 > evennia.utils.optionhandler< a class = "headerlink" href = "#module-evennia.utils.optionhandler" title = "Permalink to this headline" > ¶< / a > < / h1 >
2020-10-15 01:31:30 +02:00
< dl class = "py class" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.InMemorySaveHandler" >
< em class = "property" > class < / em > < code class = "sig-prename descclassname" > evennia.utils.optionhandler.< / code > < code class = "sig-name descname" > InMemorySaveHandler< / code > < a class = "reference internal" href = "../_modules/evennia/utils/optionhandler.html#InMemorySaveHandler" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.InMemorySaveHandler" 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 > Fallback SaveHandler, implementing a minimum of the required save mechanism
and storing data in memory.< / p >
2020-10-15 01:31:30 +02:00
< dl class = "py method" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.InMemorySaveHandler.__init__" >
< code class = "sig-name descname" > __init__< / code > < span class = "sig-paren" > (< / span > < span class = "sig-paren" > )< / span > < a class = "reference internal" href = "../_modules/evennia/utils/optionhandler.html#InMemorySaveHandler.__init__" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.InMemorySaveHandler.__init__" title = "Permalink to this definition" > ¶< / a > < / dt >
< dd > < p > Initialize self. See help(type(self)) for accurate signature.< / p >
< / dd > < / dl >
2020-10-15 01:31:30 +02:00
< dl class = "py method" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.InMemorySaveHandler.add" >
2020-10-15 01:31:30 +02:00
< code class = "sig-name descname" > add< / code > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > key< / span > < / em > , < em class = "sig-param" > < span class = "n" > value< / 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/optionhandler.html#InMemorySaveHandler.add" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.InMemorySaveHandler.add" title = "Permalink to this definition" > ¶< / a > < / dt >
2020-07-14 00:21:00 +02:00
< dd > < / dd > < / dl >
2020-10-15 01:31:30 +02:00
< dl class = "py method" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.InMemorySaveHandler.get" >
2020-10-15 01:31:30 +02:00
< code class = "sig-name descname" > get< / code > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > key< / span > < / em > , < em class = "sig-param" > < span class = "n" > default< / 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/optionhandler.html#InMemorySaveHandler.get" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.InMemorySaveHandler.get" title = "Permalink to this definition" > ¶< / a > < / dt >
2020-07-14 00:21:00 +02:00
< dd > < / dd > < / dl >
< / dd > < / dl >
2020-10-15 01:31:30 +02:00
< dl class = "py class" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.OptionHandler" >
2020-10-15 01:31:30 +02:00
< em class = "property" > class < / em > < code class = "sig-prename descclassname" > evennia.utils.optionhandler.< / code > < code class = "sig-name descname" > OptionHandler< / code > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > obj< / span > < / em > , < em class = "sig-param" > < span class = "n" > options_dict< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > savefunc< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > loadfunc< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > save_kwargs< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > load_kwargs< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > < span class = "sig-paren" > )< / span > < a class = "reference internal" href = "../_modules/evennia/utils/optionhandler.html#OptionHandler" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.OptionHandler" title = "Permalink to this definition" > ¶< / a > < / dt >
2020-07-14 00:21:00 +02:00
< dd > < p > Bases: < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > object< / span > < / code > < / p >
< p > This is a generic Option handler. Retrieve options either as properties on
this handler or by using the .get method.< / p >
< p > This is used for Account.options but it could be used by Scripts or Objects
just as easily. All it needs to be provided is an options_dict.< / p >
2020-10-15 01:31:30 +02:00
< dl class = "py method" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.OptionHandler.__init__" >
2020-10-15 01:31:30 +02:00
< code class = "sig-name descname" > __init__< / code > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > obj< / span > < / em > , < em class = "sig-param" > < span class = "n" > options_dict< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > savefunc< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > loadfunc< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > save_kwargs< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > load_kwargs< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > < span class = "sig-paren" > )< / span > < a class = "reference internal" href = "../_modules/evennia/utils/optionhandler.html#OptionHandler.__init__" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.OptionHandler.__init__" title = "Permalink to this definition" > ¶< / a > < / dt >
2020-07-14 00:21:00 +02:00
< dd > < p > Initialize an OptionHandler.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > obj< / strong > (< em > object< / em > ) – The object this handler sits on. This is usually a TypedObject.< / p > < / li >
< li > < p > < strong > options_dict< / strong > (< em > dict< / em > ) – A dictionary of option keys, where the values
are options. The format of those tuples is: (‘ key’ , “Description to
show”, ‘ option_type’ , < default value> )< / p > < / li >
< li > < p > < strong > savefunc< / strong > (< em > callable< / em > ) – A callable for all options to call when saving itself.
It will be called as < strong > savefunc(key, value, **save_kwargs)< / strong > . A common one
to pass would be AttributeHandler.add.< / p > < / li >
< li > < p > < strong > loadfunc< / strong > (< em > callable< / em > ) – A callable for all options to call when loading data into
itself. It will be called as < strong > loadfunc(key, default=default, **load_kwargs)< / strong > .
A common one to pass would be AttributeHandler.get.< / p > < / li >
< li > < p > < strong > save_kwargs< / strong > (< em > any< / em > ) – Optional extra kwargs to pass into < strong > savefunc< / strong > above.< / p > < / li >
< li > < p > < strong > load_kwargs< / strong > (< em > any< / em > ) – Optional extra kwargs to pass into < strong > loadfunc< / strong > above.< / p > < / li >
< / ul >
< / dd >
< / dl >
< p class = "rubric" > Notes< / p >
< p > Both loadfunc and savefunc must be specified. If only one is given, the other
will be ignored and in-memory storage will be used.< / p >
< / dd > < / dl >
2020-10-15 01:31:30 +02:00
< dl class = "py method" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.OptionHandler.get" >
2020-10-15 01:31:30 +02:00
< code class = "sig-name descname" > get< / code > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > key< / span > < / em > , < em class = "sig-param" > < span class = "n" > default< / span > < span class = "o" > =< / span > < span class = "default_value" > None< / span > < / em > , < em class = "sig-param" > < span class = "n" > return_obj< / span > < span class = "o" > =< / span > < span class = "default_value" > False< / span > < / em > , < em class = "sig-param" > < span class = "n" > raise_error< / 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/optionhandler.html#OptionHandler.get" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.OptionHandler.get" title = "Permalink to this definition" > ¶< / a > < / dt >
2020-07-14 00:21:00 +02:00
< dd > < p > Retrieves an Option stored in the handler. Will load it if it doesn’ t exist.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > key< / strong > (< em > str< / em > ) – The option key to retrieve.< / p > < / li >
< li > < p > < strong > default< / strong > (< em > any< / em > ) – What to return if the option is defined.< / p > < / li >
< li > < p > < strong > return_obj< / strong > (< em > bool< / em > < em > , < / em > < em > optional< / em > ) – If True, returns the actual option
object instead of its value.< / p > < / li >
< li > < p > < strong > raise_error< / strong > (< em > bool< / em > < em > , < / em > < em > optional< / em > ) – Raise Exception if key is not found in options.< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< / dt >
< dd class = "field-even" > < p > < em > option_value (any or Option)< / em > – An option value the Option itself.< / p >
< / dd >
< dt class = "field-odd" > Raises< / dt >
< dd class = "field-odd" > < p > < strong > KeyError< / strong > – If option is not defined.< / p >
< / dd >
< / dl >
< / dd > < / dl >
2020-10-15 01:31:30 +02:00
< dl class = "py method" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.OptionHandler.set" >
2020-10-15 01:31:30 +02:00
< code class = "sig-name descname" > set< / code > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > key< / span > < / em > , < em class = "sig-param" > < span class = "n" > value< / 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/optionhandler.html#OptionHandler.set" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.OptionHandler.set" title = "Permalink to this definition" > ¶< / a > < / dt >
2020-07-14 00:21:00 +02:00
< dd > < p > Change an individual option.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > key< / strong > (< em > str< / em > ) – The key of an option that can be changed. Allows partial matching.< / p > < / li >
< li > < p > < strong > value< / strong > (< em > str< / em > ) – The value that should be checked, coerced, and stored.:< / p > < / li >
< li > < p > < strong > kwargs< / strong > (< em > any< / em > < em > , < / em > < em > optional< / em > ) – These are passed into the Option’ s validation function,
save function and display function and allows to customize either.< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< / dt >
< dd class = "field-even" > < p > < em > value (any)< / em > – Value stored in option, after validation.< / p >
< / dd >
< / dl >
< / dd > < / dl >
2020-10-15 01:31:30 +02:00
< dl class = "py method" >
2020-07-14 00:21:00 +02:00
< dt id = "evennia.utils.optionhandler.OptionHandler.all" >
2020-10-15 01:31:30 +02:00
< code class = "sig-name descname" > all< / code > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > return_objs< / 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/optionhandler.html#OptionHandler.all" > < span class = "viewcode-link" > [source]< / span > < / a > < a class = "headerlink" href = "#evennia.utils.optionhandler.OptionHandler.all" title = "Permalink to this definition" > ¶< / a > < / dt >
2020-07-14 00:21:00 +02:00
< dd > < p > Get all options defined on this handler.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< / dt >
< dd class = "field-odd" > < p > < strong > return_objs< / strong > (< em > bool< / em > < em > , < / em > < em > optional< / em > ) – Return the actual Option objects rather
than their values.< / p >
< / dd >
< dt class = "field-even" > Returns< / dt >
< dd class = "field-even" > < p > < p > < em > all_options (dict)< / em > – < / p >
< dl class = "simple" >
< dt > All options on this handler, either < strong > {key: value}< / strong > < / dt > < dd > < p > or < strong > {key: < Option> }< / strong > if < strong > return_objs< / strong > is < strong > True< / strong > .< / p >
< / dd >
< / dl >
< / p >
< / dd >
< / dl >
< / dd > < / dl >
< / dd > < / dl >
2021-05-16 00:06:01 +02:00
< / section >
2020-07-14 00:21:00 +02:00
2020-10-15 01:31:30 +02:00
< div class = "clearer" > < / div >
2020-07-14 00:21:00 +02:00
< / 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 >
2022-02-06 18:34:09 +00:00
< h4 > Previous topic< / h4 >
< p class = "topless" > < a href = "evennia.utils.optionclasses.html"
title="previous chapter">evennia.utils.optionclasses< / a > < / p >
< h4 > Next topic< / h4 >
< p class = "topless" > < a href = "evennia.utils.picklefield.html"
title="next chapter">evennia.utils.picklefield< / a > < / p >
2020-07-14 00:21:00 +02:00
< div role = "note" aria-label = "source link" >
<!-- h3>This Page</h3 -->
< ul class = "this-page-menu" >
2021-10-26 21:41:11 +02:00
< li > < a href = "../_sources/api/evennia.utils.optionhandler.md.txt"
2020-07-14 00:21:00 +02:00
rel="nofollow">Show Page Source< / a > < / li >
< / ul >
2021-03-06 01:37:43 +01:00
< / 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 >
2021-08-06 00:47:51 +02:00
< li >
< a href = "https://discord.gg/AJJpcRUhtF" > Discord< / a > -
< a href = "https://github.com/evennia/evennia/discussions" > Discussions< / a > -
2021-08-06 00:53:44 +02:00
< a href = "https://evennia.blogspot.com/" > Blog< / a >
2021-03-06 01:37:43 +01:00
< / li >
< / ul >
2020-07-14 00:21:00 +02:00
< h3 > Versions< / h3 >
< ul >
< li > < a href = "evennia.utils.optionhandler.html" > 1.0-dev (develop branch)< / a > < / li >
2022-02-05 18:41:59 +00:00
< li > < a href = "../../0.9.5/api/evennia.utils.optionhandler.html" > 0.9.5 (v0.9.5 branch)< / a > < / li >
2020-07-14 00:21:00 +02:00
< / 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 >
2022-02-06 18:34:09 +00:00
< li class = "right" >
< a href = "evennia.utils.picklefield.html" title = "evennia.utils.picklefield"
>next< / a > |< / li >
< li class = "right" >
< a href = "evennia.utils.optionclasses.html" title = "evennia.utils.optionclasses"
>previous< / a > |< / li >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-0" > < a href = "../index.html" > Evennia 1.0-dev< / a > » < / li >
2022-02-06 18:34:09 +00:00
< li class = "nav-item nav-item-1" > < a href = "../Evennia-API.html" > API Summary< / a > » < / li >
< li class = "nav-item nav-item-2" > < a href = "evennia-api.html" > evennia< / a > » < / li >
< li class = "nav-item nav-item-3" > < a href = "evennia.html" > evennia< / a > » < / li >
< li class = "nav-item nav-item-4" > < a href = "evennia.utils.html" > evennia.utils< / a > » < / li >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-this" > < a href = "" > evennia.utils.optionhandler< / a > < / li >
2020-07-14 00:21:00 +02:00
< / ul >
2021-06-23 18:58:26 +02:00
< div class = "develop" > develop branch< / div >
2020-07-14 00:21:00 +02:00
< / div >
< div class = "footer" role = "contentinfo" >
© Copyright 2020, The Evennia developer community.
2020-10-15 01:31:30 +02:00
Created using < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > 3.2.1.
2020-07-14 00:21:00 +02:00
< / div >
< / body >
< / html >