2020-06-13 00:36:45 +02:00
<!DOCTYPE html>
2020-06-14 21:48:02 +02:00
2020-10-15 01:31:30 +02:00
< html >
2020-06-15 21:52:33 +02:00
< head >
< meta charset = "utf-8" / >
2020-10-15 01:31:30 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2020-10-11 22:19:29 +02:00
< title > evennia.contrib.ingame_python.commands — Evennia 0.9.5 documentation< / title >
2020-06-15 21:52:33 +02:00
< 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" / >
< / 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 >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-0" > < a href = "../../../../index.html" > Evennia 0.9.5< / a > » < / li >
2020-06-15 21:52:33 +02:00
< li class = "nav-item nav-item-1" > < a href = "../../../index.html" > Module code< / a > » < / li >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-2" > < a href = "../../../evennia.html" accesskey = "U" > evennia< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > evennia.contrib.ingame_python.commands< / a > < / li >
2020-06-15 21:52:33 +02:00
< / ul >
2020-11-14 11:55:52 +01:00
< div class = "develop" > develop branch< / div >
2020-06-15 21:52:33 +02:00
< / div >
< div class = "document" >
< div class = "documentwrapper" >
< div class = "bodywrapper" >
< div class = "body" role = "main" >
2020-06-13 00:36:45 +02:00
< h1 > Source code for evennia.contrib.ingame_python.commands< / h1 > < div class = "highlight" > < pre >
< span > < / span > < span class = "sd" > " " " < / span >
< span class = "sd" > Module containing the commands of the in-game Python system.< / span >
< span class = "sd" > " " " < / span >
< span class = "kn" > from< / span > < span class = "nn" > datetime< / span > < span class = "k" > import< / span > < span class = "n" > datetime< / span >
< span class = "kn" > from< / span > < span class = "nn" > django.conf< / span > < span class = "k" > import< / span > < span class = "n" > settings< / span >
< span class = "kn" > from< / span > < span class = "nn" > evennia< / span > < span class = "k" > import< / span > < span class = "n" > Command< / span >
< span class = "kn" > from< / span > < span class = "nn" > evennia.utils.ansi< / span > < span class = "k" > import< / span > < span class = "n" > raw< / span >
< span class = "kn" > from< / span > < span class = "nn" > evennia.utils.eveditor< / span > < span class = "k" > import< / span > < span class = "n" > EvEditor< / span >
< span class = "kn" > from< / span > < span class = "nn" > evennia.utils.evtable< / span > < span class = "k" > import< / span > < span class = "n" > EvTable< / span >
< span class = "kn" > from< / span > < span class = "nn" > evennia.utils.utils< / span > < span class = "k" > import< / span > < span class = "n" > class_from_module< / span > < span class = "p" > ,< / span > < span class = "n" > time_format< / span >
< span class = "kn" > from< / span > < span class = "nn" > evennia.contrib.ingame_python.utils< / span > < span class = "k" > import< / span > < span class = "n" > get_event_handler< / span >
< span class = "n" > COMMAND_DEFAULT_CLASS< / span > < span class = "o" > =< / span > < span class = "n" > class_from_module< / span > < span class = "p" > (< / span > < span class = "n" > settings< / span > < span class = "o" > .< / span > < span class = "n" > COMMAND_DEFAULT_CLASS< / span > < span class = "p" > )< / span >
< span class = "c1" > # Permissions< / span >
< span class = "n" > WITH_VALIDATION< / span > < span class = "o" > =< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "n" > settings< / span > < span class = "p" > ,< / span > < span class = "s2" > " callbackS_WITH_VALIDATION" < / span > < span class = "p" > ,< / span > < span class = "kc" > None< / span > < span class = "p" > )< / span >
< span class = "n" > WITHOUT_VALIDATION< / span > < span class = "o" > =< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "n" > settings< / span > < span class = "p" > ,< / span > < span class = "s2" > " callbackS_WITHOUT_VALIDATION" < / span > < span class = "p" > ,< / span > < span class = "s2" > " developer" < / span > < span class = "p" > )< / span >
< span class = "n" > VALIDATING< / span > < span class = "o" > =< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "n" > settings< / span > < span class = "p" > ,< / span > < span class = "s2" > " callbackS_VALIDATING" < / span > < span class = "p" > ,< / span > < span class = "s2" > " developer" < / span > < span class = "p" > )< / span >
< span class = "c1" > # Split help text< / span >
< span class = "n" > BASIC_HELP< / span > < span class = "o" > =< / span > < span class = "s2" > " Add, edit or delete callbacks." < / span >
< span class = "n" > BASIC_USAGES< / span > < span class = "o" > =< / span > < span class = "p" > [< / span >
< span class = "s2" > " @call < object name> [= < callback name> ]" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " @call/add < object name> = < callback name> [parameters]" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " @call/edit < object name> = < callback name> [callback number]" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " @call/del < object name> = < callback name> [callback number]" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " @call/tasks [object name [= < callback name> ]]" < / span > < span class = "p" > ,< / span >
< span class = "p" > ]< / span >
< span class = "n" > BASIC_SWITCHES< / span > < span class = "o" > =< / span > < span class = "p" > [< / span >
< span class = "s2" > " add - add and edit a new callback" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " edit - edit an existing callback" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " del - delete an existing callback" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " tasks - show the list of differed tasks" < / span > < span class = "p" > ,< / span >
< span class = "p" > ]< / span >
< span class = "n" > VALIDATOR_USAGES< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " @call/accept [object name = < callback name> [callback number]]" < / span > < span class = "p" > ]< / span >
< span class = "n" > VALIDATOR_SWITCHES< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " accept - show callbacks to be validated or accept one" < / span > < span class = "p" > ]< / span >
< span class = "n" > BASIC_TEXT< / span > < span class = "o" > =< / span > < span class = "s2" > " " " < / span >
< span class = "s2" > This command is used to manipulate callbacks. A callback can be linked to< / span >
< span class = "s2" > an object, to fire at a specific moment. You can use the command without< / span >
< span class = "s2" > switches to see what callbacks are active on an object:< / span >
< span class = "s2" > @call self< / span >
< span class = "s2" > You can also specify a callback name if you want the list of callbacks< / span >
< span class = "s2" > associated with this object of this name:< / span >
< span class = "s2" > @call north = can_traverse< / span >
< span class = "s2" > You can also add a number after the callback name to see details on one callback:< / span >
< span class = "s2" > @call here = say 2< / span >
< span class = "s2" > You can also add, edit or remove callbacks using the add, edit or del switches.< / span >
< span class = "s2" > Additionally, you can see the list of differed tasks created by callbacks< / span >
< span class = "s2" > (chained events to be called) using the /tasks switch.< / span >
< span class = "s2" > " " " < / span >
< span class = "n" > VALIDATOR_TEXT< / span > < span class = "o" > =< / span > < span class = "s2" > " " " < / span >
< span class = "s2" > You can also use this command to validate callbacks. Depending on your game< / span >
< span class = "s2" > setting, some users might be allowed to add new callbacks, but these callbacks< / span >
< span class = "s2" > will not be fired until you accept them. To see the callbacks needing< / span >
< span class = "s2" > validation, enter the /accept switch without argument:< / span >
< span class = "s2" > @call/accept< / span >
< span class = "s2" > A table will show you the callbacks that are not validated yet, who created< / span >
< span class = "s2" > them and when. You can then accept a specific callback:< / span >
< span class = "s2" > @call here = enter 1< / span >
< span class = "s2" > Use the /del switch to remove callbacks that should not be connected.< / span >
< span class = "s2" > " " " < / span >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback" > [docs]< / a > < span class = "k" > class< / span > < span class = "nc" > CmdCallback< / span > < span class = "p" > (< / span > < span class = "n" > COMMAND_DEFAULT_CLASS< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " < / span >
< span class = "sd" > Command to edit callbacks.< / span >
< span class = "sd" > " " " < / span >
< span class = "n" > key< / span > < span class = "o" > =< / span > < span class = "s2" > " @call" < / span >
< span class = "n" > aliases< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " @callback" < / span > < span class = "p" > ,< / span > < span class = "s2" > " @callbacks" < / span > < span class = "p" > ,< / span > < span class = "s2" > " @calls" < / span > < span class = "p" > ]< / span >
< span class = "n" > locks< / span > < span class = "o" > =< / span > < span class = "s2" > " cmd:perm(< / span > < span class = "si" > {}< / span > < span class = "s2" > )" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > VALIDATING< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > WITH_VALIDATION< / span > < span class = "p" > :< / span >
< span class = "n" > locks< / span > < span class = "o" > +=< / span > < span class = "s2" > " or perm(< / span > < span class = "si" > {}< / span > < span class = "s2" > )" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > WITH_VALIDATION< / span > < span class = "p" > )< / span >
< span class = "n" > help_category< / span > < span class = "o" > =< / span > < span class = "s2" > " Building" < / span >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.get_help" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.get_help" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > get_help< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "n" > cmdset< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " < / span >
< span class = "sd" > Return the help message for this command and this caller.< / span >
< span class = "sd" > The help text of this specific command will vary depending< / span >
< span class = "sd" > on user permission.< / span >
< span class = "sd" > Args:< / span >
< span class = "sd" > caller (Object or Account): the caller asking for help on the command.< / span >
< span class = "sd" > cmdset (CmdSet): the command set (if you need additional commands).< / span >
< span class = "sd" > Returns:< / span >
< span class = "sd" > docstring (str): the help text to provide the caller for this command.< / span >
< span class = "sd" > " " " < / span >
< span class = "n" > lock< / span > < span class = "o" > =< / span > < span class = "s2" > " perm(< / span > < span class = "si" > {}< / span > < span class = "s2" > ) or perm(callbacks_validating)" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > VALIDATING< / span > < span class = "p" > )< / span >
< span class = "n" > validator< / span > < span class = "o" > =< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > locks< / span > < span class = "o" > .< / span > < span class = "n" > check_lockstring< / span > < span class = "p" > (< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "n" > lock< / span > < span class = "p" > )< / span >
< span class = "n" > text< / span > < span class = "o" > =< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > +< / span > < span class = "n" > BASIC_HELP< / span > < span class = "o" > +< / span > < span class = "s2" > " < / span > < span class = "se" > \n\n< / span > < span class = "s2" > Usages:< / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span >
< span class = "c1" > # Usages< / span >
< span class = "n" > text< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > BASIC_USAGES< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > validator< / span > < span class = "p" > :< / span >
< span class = "n" > text< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > +< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > VALIDATOR_USAGES< / span > < span class = "p" > )< / span >
< span class = "c1" > # Switches< / span >
< span class = "n" > text< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n\n< / span > < span class = "s2" > Switches:< / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span >
< span class = "n" > text< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > BASIC_SWITCHES< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > validator< / span > < span class = "p" > :< / span >
< span class = "n" > text< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > +< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > VALIDATOR_SWITCHES< / span > < span class = "p" > )< / span >
< span class = "c1" > # Text< / span >
< span class = "n" > text< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > +< / span > < span class = "n" > BASIC_TEXT< / span >
< span class = "k" > if< / span > < span class = "n" > validator< / span > < span class = "p" > :< / span >
< span class = "n" > text< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > +< / span > < span class = "n" > VALIDATOR_TEXT< / span >
< span class = "k" > return< / span > < span class = "n" > text< / span > < / div >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.func" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.func" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > func< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " Command body." " " < / span >
< span class = "n" > caller< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span >
< span class = "n" > lock< / span > < span class = "o" > =< / span > < span class = "s2" > " perm(< / span > < span class = "si" > {}< / span > < span class = "s2" > ) or perm(events_validating)" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > VALIDATING< / span > < span class = "p" > )< / span >
< span class = "n" > validator< / span > < span class = "o" > =< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > locks< / span > < span class = "o" > .< / span > < span class = "n" > check_lockstring< / span > < span class = "p" > (< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "n" > lock< / span > < span class = "p" > )< / span >
< span class = "n" > lock< / span > < span class = "o" > =< / span > < span class = "s2" > " perm(< / span > < span class = "si" > {}< / span > < span class = "s2" > ) or perm(events_without_validation)" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > WITHOUT_VALIDATION< / span > < span class = "p" > )< / span >
< span class = "n" > autovalid< / span > < span class = "o" > =< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > locks< / span > < span class = "o" > .< / span > < span class = "n" > check_lockstring< / span > < span class = "p" > (< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "n" > lock< / span > < span class = "p" > )< / span >
< span class = "c1" > # First and foremost, get the callback handler and set other variables< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > =< / span > < span class = "n" > get_event_handler< / span > < span class = "p" > ()< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< span class = "n" > rhs< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > rhs< / span > < span class = "ow" > or< / span > < span class = "s2" > " " < / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > sep< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parameters< / span > < span class = "o" > =< / span > < span class = "n" > rhs< / span > < span class = "o" > .< / span > < span class = "n" > partition< / span > < span class = "p" > (< / span > < span class = "s2" > " " < / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > ()< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > is_validator< / span > < span class = "o" > =< / span > < span class = "n" > validator< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > autovalid< / span > < span class = "o" > =< / span > < span class = "n" > autovalid< / span >
< span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " The event handler is not running, can' t " < / span > < span class = "s2" > " access the event system." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Before the equal sign, there is an object name or nothing< / span >
< span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > lhs< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > search< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > lhs< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Switches are mutually exclusive< / span >
< span class = "n" > switch< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > switches< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > switches< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < span class = "ow" > or< / span > < span class = "s2" > " " < / span >
< span class = "k" > if< / span > < span class = "n" > switch< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span > < span class = "s2" > " add" < / span > < span class = "p" > ,< / span > < span class = "s2" > " edit" < / span > < span class = "p" > ,< / span > < span class = "s2" > " del" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Specify an object' s name or #ID." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "k" > if< / span > < span class = "n" > switch< / span > < span class = "o" > ==< / span > < span class = "s2" > " " < / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_callbacks< / span > < span class = "p" > ()< / span >
< span class = "k" > elif< / span > < span class = "n" > switch< / span > < span class = "o" > ==< / span > < span class = "s2" > " add" < / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > add_callback< / span > < span class = "p" > ()< / span >
< span class = "k" > elif< / span > < span class = "n" > switch< / span > < span class = "o" > ==< / span > < span class = "s2" > " edit" < / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > edit_callback< / span > < span class = "p" > ()< / span >
< span class = "k" > elif< / span > < span class = "n" > switch< / span > < span class = "o" > ==< / span > < span class = "s2" > " del" < / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > del_callback< / span > < span class = "p" > ()< / span >
< span class = "k" > elif< / span > < span class = "n" > switch< / span > < span class = "o" > ==< / span > < span class = "s2" > " accept" < / span > < span class = "ow" > and< / span > < span class = "n" > validator< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > accept_callback< / span > < span class = "p" > ()< / span >
< span class = "k" > elif< / span > < span class = "n" > switch< / span > < span class = "ow" > in< / span > < span class = "p" > [< / span > < span class = "s2" > " tasks" < / span > < span class = "p" > ,< / span > < span class = "s2" > " task" < / span > < span class = "p" > ]:< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_tasks< / span > < span class = "p" > ()< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Mutually exclusive or invalid switches were " < / span > < span class = "s2" > " used, cannot proceed." < / span > < span class = "p" > )< / span > < / div >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.list_callbacks" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.list_callbacks" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > list_callbacks< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " Display the list of callbacks connected to the object." " " < / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span >
< span class = "n" > callback_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span >
< span class = "n" > parameters< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parameters< / span >
< span class = "n" > callbacks< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_callbacks< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "n" > types< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_events< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > callback_name< / span > < span class = "p" > :< / span >
< span class = "c1" > # Check that the callback name can be found in this object< / span >
< span class = "n" > created< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > created< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " No callback < / span > < span class = "si" > {}< / span > < span class = "s2" > has been set on < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span >
< span class = "k" > if< / span > < span class = "n" > parameters< / span > < span class = "p" > :< / span >
< span class = "c1" > # Check that the parameter points to an existing callback< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > number< / span > < span class = "o" > =< / span > < span class = "nb" > int< / span > < span class = "p" > (< / span > < span class = "n" > parameters< / span > < span class = "p" > )< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span >
< span class = "k" > assert< / span > < span class = "n" > number< / span > < span class = "o" > > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ][< / span > < span class = "n" > number< / span > < span class = "p" > ]< / span >
< span class = "k" > except< / span > < span class = "p" > (< / span > < span class = "ne" > ValueError< / span > < span class = "p" > ,< / span > < span class = "ne" > AssertionError< / span > < span class = "p" > ,< / span > < span class = "ne" > IndexError< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span >
< span class = "s2" > " The callback < / span > < span class = "si" > {}< / span > < span class = "s2" > < / span > < span class = "si" > {}< / span > < span class = "s2" > cannot be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span >
< span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span >
< span class = "p" > )< / span >
< span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Display the callback' s details< / span >
< span class = "n" > author< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " author" < / span > < span class = "p" > )< / span >
< span class = "n" > author< / span > < span class = "o" > =< / span > < span class = "n" > author< / span > < span class = "o" > .< / span > < span class = "n" > key< / span > < span class = "k" > if< / span > < span class = "n" > author< / span > < span class = "k" > else< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "n" > updated_by< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " updated_by" < / span > < span class = "p" > )< / span >
< span class = "n" > updated_by< / span > < span class = "o" > =< / span > < span class = "n" > updated_by< / span > < span class = "o" > .< / span > < span class = "n" > key< / span > < span class = "k" > if< / span > < span class = "n" > updated_by< / span > < span class = "k" > else< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "n" > created_on< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " created_on" < / span > < span class = "p" > )< / span >
< span class = "n" > created_on< / span > < span class = "o" > =< / span > < span class = "p" > (< / span >
< span class = "n" > created_on< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s2" > " %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S" < / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > created_on< / span > < span class = "k" > else< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "p" > )< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " updated_on" < / span > < span class = "p" > )< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "p" > (< / span >
< span class = "n" > updated_on< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s2" > " %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S" < / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > updated_on< / span > < span class = "k" > else< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "p" > )< / span >
< span class = "n" > msg< / span > < span class = "o" > =< / span > < span class = "s2" > " Callback < / span > < span class = "si" > {}< / span > < span class = "s2" > < / span > < span class = "si" > {}< / span > < span class = "s2" > of < / span > < span class = "si" > {}< / span > < span class = "s2" > :" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "n" > msg< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > Created by < / span > < span class = "si" > {}< / span > < span class = "s2" > on < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > author< / span > < span class = "p" > ,< / span > < span class = "n" > created_on< / span > < span class = "p" > )< / span >
< span class = "n" > msg< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > Updated by < / span > < span class = "si" > {}< / span > < span class = "s2" > on < / span > < span class = "si" > {}< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > updated_by< / span > < span class = "p" > ,< / span > < span class = "n" > updated_on< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > is_validator< / span > < span class = "p" > :< / span >
< span class = "k" > if< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " valid" < / span > < span class = "p" > ):< / span >
< span class = "n" > msg< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > This callback is |rconnected|n and active." < / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > msg< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > This callback |rhasn' t been|n accepted yet." < / span >
< span class = "n" > msg< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > Callback code:< / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span >
< span class = "n" > msg< / span > < span class = "o" > +=< / span > < span class = "n" > raw< / span > < span class = "p" > (< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " code" < / span > < span class = "p" > ])< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "n" > msg< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # No parameter has been specified, display the table of callbacks< / span >
< span class = "n" > cols< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " Number" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Author" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Updated" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Param" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > is_validator< / span > < span class = "p" > :< / span >
< span class = "n" > cols< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "s2" > " Valid" < / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > =< / span > < span class = "n" > EvTable< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "n" > cols< / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "mi" > 78< / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > reformat_column< / span > < span class = "p" > (< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > align< / span > < span class = "o" > =< / span > < span class = "s2" > " r" < / span > < span class = "p" > )< / span >
< span class = "n" > now< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > now< / span > < span class = "p" > ()< / span >
< span class = "k" > for< / span > < span class = "n" > i< / span > < span class = "p" > ,< / span > < span class = "n" > callback< / span > < span class = "ow" > in< / span > < span class = "nb" > enumerate< / span > < span class = "p" > (< / span > < span class = "n" > created< / span > < span class = "p" > ):< / span >
< span class = "n" > author< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " author" < / span > < span class = "p" > )< / span >
< span class = "n" > author< / span > < span class = "o" > =< / span > < span class = "n" > author< / span > < span class = "o" > .< / span > < span class = "n" > key< / span > < span class = "k" > if< / span > < span class = "n" > author< / span > < span class = "k" > else< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " updated_on" < / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > updated_on< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " created_on" < / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > updated_on< / span > < span class = "p" > :< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "s2" > " < / span > < span class = "si" > {}< / span > < span class = "s2" > ago" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span >
< span class = "n" > time_format< / span > < span class = "p" > ((< / span > < span class = "n" > now< / span > < span class = "o" > -< / span > < span class = "n" > updated_on< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > total_seconds< / span > < span class = "p" > (),< / span > < span class = "mi" > 4< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > capitalize< / span > < span class = "p" > ()< / span >
< span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "n" > parameters< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " parameters" < / span > < span class = "p" > ,< / span > < span class = "s2" > " " < / span > < span class = "p" > )< / span >
< span class = "n" > row< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > i< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > author< / span > < span class = "p" > ,< / span > < span class = "n" > updated_on< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > is_validator< / span > < span class = "p" > :< / span >
< span class = "n" > row< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "s2" > " Yes" < / span > < span class = "k" > if< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " valid" < / span > < span class = "p" > )< / span > < span class = "k" > else< / span > < span class = "s2" > " No" < / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > add_row< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "n" > row< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > table< / span > < span class = "p" > ))< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > names< / span > < span class = "o" > =< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "nb" > set< / span > < span class = "p" > (< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "n" > types< / span > < span class = "o" > .< / span > < span class = "n" > keys< / span > < span class = "p" > ())< / span > < span class = "o" > +< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "n" > callbacks< / span > < span class = "o" > .< / span > < span class = "n" > keys< / span > < span class = "p" > ())))< / span >
< span class = "n" > table< / span > < span class = "o" > =< / span > < span class = "n" > EvTable< / span > < span class = "p" > (< / span > < span class = "s2" > " Callback name" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Number" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Description" < / span > < span class = "p" > ,< / span > < span class = "n" > valign< / span > < span class = "o" > =< / span > < span class = "s2" > " t" < / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "mi" > 78< / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > reformat_column< / span > < span class = "p" > (< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "mi" > 20< / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > reformat_column< / span > < span class = "p" > (< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "mi" > 10< / span > < span class = "p" > ,< / span > < span class = "n" > align< / span > < span class = "o" > =< / span > < span class = "s2" > " r" < / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > reformat_column< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "mi" > 48< / span > < span class = "p" > )< / span >
< span class = "k" > for< / span > < span class = "n" > name< / span > < span class = "ow" > in< / span > < span class = "nb" > sorted< / span > < span class = "p" > (< / span > < span class = "n" > names< / span > < span class = "p" > ):< / span >
< span class = "n" > number< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > callbacks< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "p" > []))< / span >
< span class = "n" > lines< / span > < span class = "o" > =< / span > < span class = "nb" > sum< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > [< / span > < span class = "s2" > " code" < / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > splitlines< / span > < span class = "p" > ())< / span > < span class = "k" > for< / span > < span class = "n" > e< / span > < span class = "ow" > in< / span > < span class = "n" > callbacks< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "p" > []))< / span >
< span class = "n" > no< / span > < span class = "o" > =< / span > < span class = "s2" > " < / span > < span class = "si" > {}< / span > < span class = "s2" > (< / span > < span class = "si" > {}< / span > < span class = "s2" > )" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > number< / span > < span class = "p" > ,< / span > < span class = "n" > lines< / span > < span class = "p" > )< / span >
< span class = "n" > description< / span > < span class = "o" > =< / span > < span class = "n" > types< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "s2" > " Chained event." < / span > < span class = "p" > ))[< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< span class = "n" > description< / span > < span class = "o" > =< / span > < span class = "n" > description< / span > < span class = "o" > .< / span > < span class = "n" > strip< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > splitlines< / span > < span class = "p" > ()[< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > add_row< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > no< / span > < span class = "p" > ,< / span > < span class = "n" > description< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > table< / span > < span class = "p" > ))< / span > < / div >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.add_callback" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.add_callback" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > add_callback< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " Add a callback." " " < / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span >
< span class = "n" > callback_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span >
< span class = "n" > types< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_events< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "c1" > # Check that the callback exists< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > callback_name< / span > < span class = "o" > .< / span > < span class = "n" > startswith< / span > < span class = "p" > (< / span > < span class = "s2" > " chain_" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > callback_name< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > types< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span >
< span class = "s2" > " The callback name < / span > < span class = "si" > {}< / span > < span class = "s2" > can' t be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > of " < / span >
< span class = "s2" > " typeclass < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > ))< / span >
< span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "n" > definition< / span > < span class = "o" > =< / span > < span class = "n" > types< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "s2" > " Chained event." < / span > < span class = "p" > ))< / span >
< span class = "n" > description< / span > < span class = "o" > =< / span > < span class = "n" > definition< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "n" > raw< / span > < span class = "p" > (< / span > < span class = "n" > description< / span > < span class = "o" > .< / span > < span class = "n" > strip< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "p" > )))< / span >
< span class = "c1" > # Open the editor< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > add_callback< / span > < span class = "p" > (< / span >
< span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parameters< / span >
< span class = "p" > )< / span >
< span class = "c1" > # Lock this callback right away< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > ((< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " number" < / span > < span class = "p" > ]))< / span >
< span class = "c1" > # Open the editor for this callback< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > _callback< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span >
< span class = "n" > EvEditor< / span > < span class = "p" > (< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span >
< span class = "n" > loadfunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_load< / span > < span class = "p" > ,< / span >
< span class = "n" > savefunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_save< / span > < span class = "p" > ,< / span >
< span class = "n" > quitfunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_quit< / span > < span class = "p" > ,< / span >
< span class = "n" > key< / span > < span class = "o" > =< / span > < span class = "s2" > " Callback < / span > < span class = "si" > {}< / span > < span class = "s2" > of < / span > < span class = "si" > {}< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ),< / span >
< span class = "n" > persistent< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span >
< span class = "n" > codefunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_save< / span > < span class = "p" > ,< / span >
< span class = "p" > )< / span > < / div >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.edit_callback" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.edit_callback" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > edit_callback< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " Edit a callback." " " < / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span >
< span class = "n" > callback_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span >
< span class = "n" > parameters< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parameters< / span >
< span class = "n" > callbacks< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_callbacks< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "n" > types< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_events< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "c1" > # If no callback name is specified, display the list of callbacks< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > callback_name< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_callbacks< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Check that the callback exists< / span >
< span class = "k" > if< / span > < span class = "n" > callback_name< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > callbacks< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " The callback name < / span > < span class = "si" > {}< / span > < span class = "s2" > can' t be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span >
< span class = "c1" > # If there' s only one callback, just edit it< / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ])< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< span class = "n" > number< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ][< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > parameters< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Which callback do you wish to edit? Specify a number." < / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_callbacks< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Check that the parameter points to an existing callback< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > number< / span > < span class = "o" > =< / span > < span class = "nb" > int< / span > < span class = "p" > (< / span > < span class = "n" > parameters< / span > < span class = "p" > )< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span >
< span class = "k" > assert< / span > < span class = "n" > number< / span > < span class = "o" > > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ][< / span > < span class = "n" > number< / span > < span class = "p" > ]< / span >
< span class = "k" > except< / span > < span class = "p" > (< / span > < span class = "ne" > ValueError< / span > < span class = "p" > ,< / span > < span class = "ne" > AssertionError< / span > < span class = "p" > ,< / span > < span class = "ne" > IndexError< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span >
< span class = "s2" > " The callback < / span > < span class = "si" > {}< / span > < span class = "s2" > < / span > < span class = "si" > {}< / span > < span class = "s2" > cannot be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span >
< span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span >
< span class = "p" > )< / span >
< span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # If caller can' t edit without validation, forbid editing< / span >
< span class = "c1" > # others' works< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > autovalid< / span > < span class = "ow" > and< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " author" < / span > < span class = "p" > ]< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " You cannot edit this callback created by someone else." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # If the callback is locked (edited by someone else)< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > number< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " This callback is locked, you cannot edit it." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > ((< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > number< / span > < span class = "p" > ))< / span >
< span class = "c1" > # Check the definition of the callback< / span >
< span class = "n" > definition< / span > < span class = "o" > =< / span > < span class = "n" > types< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "s2" > " Chained event." < / span > < span class = "p" > ))< / span >
< span class = "n" > description< / span > < span class = "o" > =< / span > < span class = "n" > definition< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "n" > raw< / span > < span class = "p" > (< / span > < span class = "n" > description< / span > < span class = "o" > .< / span > < span class = "n" > strip< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "p" > )))< / span >
< span class = "c1" > # Open the editor< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "nb" > dict< / span > < span class = "p" > (< / span > < span class = "n" > callback< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > _callback< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span >
< span class = "n" > EvEditor< / span > < span class = "p" > (< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span >
< span class = "n" > loadfunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_load< / span > < span class = "p" > ,< / span >
< span class = "n" > savefunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_save< / span > < span class = "p" > ,< / span >
< span class = "n" > quitfunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_quit< / span > < span class = "p" > ,< / span >
< span class = "n" > key< / span > < span class = "o" > =< / span > < span class = "s2" > " Callback < / span > < span class = "si" > {}< / span > < span class = "s2" > of < / span > < span class = "si" > {}< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ),< / span >
< span class = "n" > persistent< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span >
< span class = "n" > codefunc< / span > < span class = "o" > =< / span > < span class = "n" > _ev_save< / span > < span class = "p" > ,< / span >
< span class = "p" > )< / span > < / div >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.del_callback" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.del_callback" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > del_callback< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " Delete a callback." " " < / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span >
< span class = "n" > callback_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span >
< span class = "n" > parameters< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parameters< / span >
< span class = "n" > callbacks< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_callbacks< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "n" > types< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_events< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "c1" > # If no callback name is specified, display the list of callbacks< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > callback_name< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_callbacks< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Check that the callback exists< / span >
< span class = "k" > if< / span > < span class = "n" > callback_name< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > callbacks< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " The callback name < / span > < span class = "si" > {}< / span > < span class = "s2" > can' t be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span >
< span class = "c1" > # If there' s only one callback, just delete it< / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ])< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< span class = "n" > number< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ][< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > parameters< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Which callback do you wish to delete? Specify " < / span > < span class = "s2" > " a number." < / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_callbacks< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Check that the parameter points to an existing callback< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > number< / span > < span class = "o" > =< / span > < span class = "nb" > int< / span > < span class = "p" > (< / span > < span class = "n" > parameters< / span > < span class = "p" > )< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span >
< span class = "k" > assert< / span > < span class = "n" > number< / span > < span class = "o" > > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ][< / span > < span class = "n" > number< / span > < span class = "p" > ]< / span >
< span class = "k" > except< / span > < span class = "p" > (< / span > < span class = "ne" > ValueError< / span > < span class = "p" > ,< / span > < span class = "ne" > AssertionError< / span > < span class = "p" > ,< / span > < span class = "ne" > IndexError< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span >
< span class = "s2" > " The callback < / span > < span class = "si" > {}< / span > < span class = "s2" > < / span > < span class = "si" > {}< / span > < span class = "s2" > cannot be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span >
< span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span >
< span class = "p" > )< / span >
< span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # If caller can' t edit without validation, forbid deleting< / span >
< span class = "c1" > # others' works< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > autovalid< / span > < span class = "ow" > and< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " author" < / span > < span class = "p" > ]< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " You cannot delete this callback created by someone else." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # If the callback is locked (edited by someone else)< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > number< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " This callback is locked, you cannot delete it." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Delete the callback< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > del_callback< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > number< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " The callback < / span > < span class = "si" > {}< / span > < span class = "s2" > [< / span > < span class = "si" > {}< / span > < span class = "s2" > ] of < / span > < span class = "si" > {}< / span > < span class = "s2" > was deleted." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > number< / span > < span class = "o" > +< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ))< / span > < / div >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.accept_callback" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.accept_callback" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > accept_callback< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " Accept a callback." " " < / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span >
< span class = "n" > callback_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span >
< span class = "n" > parameters< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parameters< / span >
< span class = "c1" > # If no object, display the list of callbacks to be checked< / span >
< span class = "k" > if< / span > < span class = "n" > obj< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > table< / span > < span class = "o" > =< / span > < span class = "n" > EvTable< / span > < span class = "p" > (< / span > < span class = "s2" > " ID" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Type" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Object" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Name" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Updated by" < / span > < span class = "p" > ,< / span > < span class = "s2" > " On" < / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "mi" > 78< / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > reformat_column< / span > < span class = "p" > (< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > align< / span > < span class = "o" > =< / span > < span class = "s2" > " r" < / span > < span class = "p" > )< / span >
< span class = "n" > now< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > now< / span > < span class = "p" > ()< / span >
< span class = "k" > for< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > number< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > to_valid< / span > < span class = "p" > :< / span >
< span class = "n" > callbacks< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_callbacks< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > callbacks< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "k" > continue< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > number< / span > < span class = "p" > ]< / span >
< span class = "k" > except< / span > < span class = "ne" > IndexError< / span > < span class = "p" > :< / span >
< span class = "k" > continue< / span >
< span class = "n" > type_name< / span > < span class = "o" > =< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > typeclass_path< / span > < span class = "o" > .< / span > < span class = "n" > split< / span > < span class = "p" > (< / span > < span class = "s2" > " ." < / span > < span class = "p" > )[< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< span class = "n" > by< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " updated_by" < / span > < span class = "p" > )< / span >
< span class = "n" > by< / span > < span class = "o" > =< / span > < span class = "n" > by< / span > < span class = "o" > .< / span > < span class = "n" > key< / span > < span class = "k" > if< / span > < span class = "n" > by< / span > < span class = "k" > else< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " updated_on" < / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > updated_on< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "n" > callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " created_on" < / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > updated_on< / span > < span class = "p" > :< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "s2" > " < / span > < span class = "si" > {}< / span > < span class = "s2" > ago" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span >
< span class = "n" > time_format< / span > < span class = "p" > ((< / span > < span class = "n" > now< / span > < span class = "o" > -< / span > < span class = "n" > updated_on< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > total_seconds< / span > < span class = "p" > (),< / span > < span class = "mi" > 4< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > capitalize< / span > < span class = "p" > ()< / span >
< span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > updated_on< / span > < span class = "o" > =< / span > < span class = "s2" > " |gUnknown|n" < / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > add_row< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > id< / span > < span class = "p" > ,< / span > < span class = "n" > type_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > by< / span > < span class = "p" > ,< / span > < span class = "n" > updated_on< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > table< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span >
< span class = "c1" > # An object was specified< / span >
< span class = "n" > callbacks< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_callbacks< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "n" > types< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > get_events< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "c1" > # If no callback name is specified, display the list of callbacks< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > callback_name< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_callbacks< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Check that the callback exists< / span >
< span class = "k" > if< / span > < span class = "n" > callback_name< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > callbacks< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " The callback name < / span > < span class = "si" > {}< / span > < span class = "s2" > can' t be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span >
< span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > parameters< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Which callback do you wish to accept? Specify a number." < / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > list_callbacks< / span > < span class = "p" > ()< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Check that the parameter points to an existing callback< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > number< / span > < span class = "o" > =< / span > < span class = "nb" > int< / span > < span class = "p" > (< / span > < span class = "n" > parameters< / span > < span class = "p" > )< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span >
< span class = "k" > assert< / span > < span class = "n" > number< / span > < span class = "o" > > =< / span > < span class = "mi" > 0< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > callbacks< / span > < span class = "p" > [< / span > < span class = "n" > callback_name< / span > < span class = "p" > ][< / span > < span class = "n" > number< / span > < span class = "p" > ]< / span >
< span class = "k" > except< / span > < span class = "p" > (< / span > < span class = "ne" > ValueError< / span > < span class = "p" > ,< / span > < span class = "ne" > AssertionError< / span > < span class = "p" > ,< / span > < span class = "ne" > IndexError< / span > < span class = "p" > ):< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span >
< span class = "s2" > " The callback < / span > < span class = "si" > {}< / span > < span class = "s2" > < / span > < span class = "si" > {}< / span > < span class = "s2" > cannot be found in < / span > < span class = "si" > {}< / span > < span class = "s2" > ." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "p" > )< / span >
< span class = "k" > return< / span >
< span class = "c1" > # Accept the callback< / span >
< span class = "k" > if< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " valid" < / span > < span class = "p" > ]:< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " This callback has already been accepted." < / span > < span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > accept_callback< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > number< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span >
< span class = "s2" > " The callback < / span > < span class = "si" > {}< / span > < span class = "s2" > < / span > < span class = "si" > {}< / span > < span class = "s2" > of < / span > < span class = "si" > {}< / span > < span class = "s2" > has been accepted." < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > parameters< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > )< / span >
< span class = "p" > )< / span > < / div >
2020-07-14 00:21:00 +02:00
< div class = "viewcode-block" id = "CmdCallback.list_tasks" > < a class = "viewcode-back" href = "../../../../api/evennia.contrib.ingame_python.commands.html#evennia.contrib.ingame_python.commands.CmdCallback.list_tasks" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > list_tasks< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " List the active tasks." " " < / span >
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > obj< / span >
< span class = "n" > callback_name< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > callback_name< / span >
< span class = "n" > handler< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > handler< / span >
< span class = "n" > tasks< / span > < span class = "o" > =< / span > < span class = "p" > [(< / span > < span class = "n" > k< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > v< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span > < span class = "n" > v< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ])< / span > < span class = "k" > for< / span > < span class = "n" > k< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "ow" > in< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > tasks< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ()]< / span >
< span class = "k" > if< / span > < span class = "n" > obj< / span > < span class = "p" > :< / span >
< span class = "n" > tasks< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > task< / span > < span class = "k" > for< / span > < span class = "n" > task< / span > < span class = "ow" > in< / span > < span class = "n" > tasks< / span > < span class = "k" > if< / span > < span class = "n" > task< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ]< / span > < span class = "ow" > is< / span > < span class = "n" > obj< / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "n" > callback_name< / span > < span class = "p" > :< / span >
< span class = "n" > tasks< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > task< / span > < span class = "k" > for< / span > < span class = "n" > task< / span > < span class = "ow" > in< / span > < span class = "n" > tasks< / span > < span class = "k" > if< / span > < span class = "n" > task< / span > < span class = "p" > [< / span > < span class = "mi" > 3< / span > < span class = "p" > ]< / span > < span class = "o" > ==< / span > < span class = "n" > callback_name< / span > < span class = "p" > ]< / span >
< span class = "n" > tasks< / span > < span class = "o" > .< / span > < span class = "n" > sort< / span > < span class = "p" > ()< / span >
< span class = "n" > table< / span > < span class = "o" > =< / span > < span class = "n" > EvTable< / span > < span class = "p" > (< / span > < span class = "s2" > " ID" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Object" < / span > < span class = "p" > ,< / span > < span class = "s2" > " Callback" < / span > < span class = "p" > ,< / span > < span class = "s2" > " In" < / span > < span class = "p" > ,< / span > < span class = "n" > width< / span > < span class = "o" > =< / span > < span class = "mi" > 78< / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > reformat_column< / span > < span class = "p" > (< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > align< / span > < span class = "o" > =< / span > < span class = "s2" > " r" < / span > < span class = "p" > )< / span >
< span class = "n" > now< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > now< / span > < span class = "p" > ()< / span >
< span class = "k" > for< / span > < span class = "n" > task_id< / span > < span class = "p" > ,< / span > < span class = "n" > future< / span > < span class = "p" > ,< / span > < span class = "n" > obj< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "ow" > in< / span > < span class = "n" > tasks< / span > < span class = "p" > :< / span >
< span class = "n" > key< / span > < span class = "o" > =< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > get_display_name< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > caller< / span > < span class = "p" > )< / span >
< span class = "n" > delta< / span > < span class = "o" > =< / span > < span class = "n" > time_format< / span > < span class = "p" > ((< / span > < span class = "n" > future< / span > < span class = "o" > -< / span > < span class = "n" > now< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > total_seconds< / span > < span class = "p" > (),< / span > < span class = "mi" > 1< / span > < span class = "p" > )< / span >
< span class = "n" > table< / span > < span class = "o" > .< / span > < span class = "n" > add_row< / span > < span class = "p" > (< / span > < span class = "n" > task_id< / span > < span class = "p" > ,< / span > < span class = "n" > key< / span > < span class = "p" > ,< / span > < span class = "n" > callback_name< / span > < span class = "p" > ,< / span > < span class = "n" > delta< / span > < span class = "p" > )< / span >
< span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > table< / span > < span class = "p" > ))< / span > < / div > < / div >
< span class = "c1" > # Private functions to handle editing< / span >
2020-07-14 00:21:00 +02:00
< span class = "k" > def< / span > < span class = "nf" > _ev_load< / span > < span class = "p" > (< / span > < span class = "n" > caller< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > _callback< / span > < span class = "ow" > and< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > _callback< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " code" < / span > < span class = "p" > ,< / span > < span class = "s2" > " " < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "s2" > " " < / span >
2020-06-13 00:36:45 +02:00
2020-07-14 00:21:00 +02:00
< span class = "k" > def< / span > < span class = "nf" > _ev_save< / span > < span class = "p" > (< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "n" > buf< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "sd" > " " " Save and add the callback." " " < / span >
< span class = "n" > lock< / span > < span class = "o" > =< / span > < span class = "s2" > " perm(< / span > < span class = "si" > {}< / span > < span class = "s2" > ) or perm(events_without_validation)" < / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "n" > WITHOUT_VALIDATION< / span > < span class = "p" > )< / span >
< span class = "n" > autovalid< / span > < span class = "o" > =< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > locks< / span > < span class = "o" > .< / span > < span class = "n" > check_lockstring< / span > < span class = "p" > (< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "n" > lock< / span > < span class = "p" > )< / span >
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > _callback< / span >
< span class = "n" > handler< / span > < span class = "o" > =< / span > < span class = "n" > get_event_handler< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span >
< span class = "ow" > not< / span > < span class = "n" > handler< / span >
< span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "n" > callback< / span >
< span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "nb" > all< / span > < span class = "p" > (< / span > < span class = "n" > key< / span > < span class = "ow" > in< / span > < span class = "n" > callback< / span > < span class = "k" > for< / span > < span class = "n" > key< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s2" > " obj" < / span > < span class = "p" > ,< / span > < span class = "s2" > " name" < / span > < span class = "p" > ,< / span > < span class = "s2" > " number" < / span > < span class = "p" > ,< / span > < span class = "s2" > " valid" < / span > < span class = "p" > ))< / span >
< span class = "p" > ):< / span >
< span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Couldn' t save this callback." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "kc" > False< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " obj" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " number" < / span > < span class = "p" > ])< / span > < span class = "ow" > in< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "p" > :< / span >
< span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "o" > .< / span > < span class = "n" > remove< / span > < span class = "p" > ((< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " obj" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " number" < / span > < span class = "p" > ]))< / span >
< span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > edit_callback< / span > < span class = "p" > (< / span >
< span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " obj" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " number" < / span > < span class = "p" > ],< / span > < span class = "n" > buf< / span > < span class = "p" > ,< / span > < span class = "n" > caller< / span > < span class = "p" > ,< / span > < span class = "n" > valid< / span > < span class = "o" > =< / span > < span class = "n" > autovalid< / span >
< span class = "p" > )< / span >
2020-07-14 00:21:00 +02:00
< span class = "k" > return< / span > < span class = "kc" > True< / span >
2020-06-13 00:36:45 +02:00
2020-07-14 00:21:00 +02:00
< span class = "k" > def< / span > < span class = "nf" > _ev_quit< / span > < span class = "p" > (< / span > < span class = "n" > caller< / span > < span class = "p" > ):< / span >
2020-06-13 00:36:45 +02:00
< span class = "n" > callback< / span > < span class = "o" > =< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > _callback< / span >
< span class = "n" > handler< / span > < span class = "o" > =< / span > < span class = "n" > get_event_handler< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span >
< span class = "ow" > not< / span > < span class = "n" > handler< / span >
< span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "n" > callback< / span >
< span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "nb" > all< / span > < span class = "p" > (< / span > < span class = "n" > key< / span > < span class = "ow" > in< / span > < span class = "n" > callback< / span > < span class = "k" > for< / span > < span class = "n" > key< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s2" > " obj" < / span > < span class = "p" > ,< / span > < span class = "s2" > " name" < / span > < span class = "p" > ,< / span > < span class = "s2" > " number" < / span > < span class = "p" > ,< / span > < span class = "s2" > " valid" < / span > < span class = "p" > ))< / span >
< span class = "p" > ):< / span >
< span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Couldn' t save this callback." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "kc" > False< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " obj" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " number" < / span > < span class = "p" > ])< / span > < span class = "ow" > in< / span > < span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "p" > :< / span >
< span class = "n" > handler< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > locked< / span > < span class = "o" > .< / span > < span class = "n" > remove< / span > < span class = "p" > ((< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " obj" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > callback< / span > < span class = "p" > [< / span > < span class = "s2" > " number" < / span > < span class = "p" > ]))< / span >
< span class = "k" > del< / span > < span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > db< / span > < span class = "o" > .< / span > < span class = "n" > _callback< / span >
2020-07-14 00:21:00 +02:00
< span class = "n" > caller< / span > < span class = "o" > .< / span > < span class = "n" > msg< / span > < span class = "p" > (< / span > < span class = "s2" > " Exited the code editor." < / span > < span class = "p" > )< / span >
2020-06-13 00:36:45 +02:00
< / pre > < / div >
2020-10-15 01:31:30 +02:00
< div class = "clearer" > < / div >
2020-06-13 00:36:45 +02:00
< / div >
< / div >
< / div >
2020-06-15 21:52:33 +02:00
< 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 >
< h3 > Versions< / h3 >
< ul >
< li > < a href = "../../../../../1.0-dev/index.html" > 1.0-dev (develop branch)< / a > < / li >
2020-10-11 22:19:29 +02:00
< li > < a href = "commands.html" > 0.9.5 (master branch)< / a > < / li >
2020-06-15 21:52:33 +02:00
< / ul >
2020-06-13 00:36:45 +02:00
2020-06-15 21:52:33 +02:00
< / 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 >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-0" > < a href = "../../../../index.html" > Evennia 0.9.5< / a > » < / li >
2020-06-15 21:52:33 +02:00
< li class = "nav-item nav-item-1" > < a href = "../../../index.html" > Module code< / a > » < / li >
2020-10-15 01:31:30 +02:00
< li class = "nav-item nav-item-2" > < a href = "../../../evennia.html" > evennia< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > evennia.contrib.ingame_python.commands< / a > < / li >
2020-06-15 21:52:33 +02:00
< / ul >
2020-11-14 11:55:52 +01:00
< div class = "develop" > develop branch< / div >
2020-06-15 21:52:33 +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-06-15 21:52:33 +02:00
< / div >
< / body >
2020-06-13 00:36:45 +02:00
< / html >