forked from platypush/platypush
Added plugin for handling general-purpose session variables across tasks.
Supported methods: variable.get, variable.set, variable.unset
This commit is contained in:
parent
2e08be2886
commit
7fd375da66
1 changed files with 31 additions and 0 deletions
31
platypush/plugins/variable.py
Normal file
31
platypush/plugins/variable.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
from platypush.message.response import Response
|
||||
from platypush.plugins import Plugin
|
||||
|
||||
|
||||
class VariablePlugin(Plugin):
|
||||
"""
|
||||
This plugin allows you to manipulate context variables that can be
|
||||
accessed across your tasks.
|
||||
"""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self._variables = {}
|
||||
|
||||
def get(self, name, default_value=None):
|
||||
return Response(output={name: self._variables.get(name, default_value)})
|
||||
|
||||
def set(self, name, value):
|
||||
self._variables[name] = value
|
||||
return Response(output={'status':'ok'})
|
||||
|
||||
def unset(self, name):
|
||||
if name in self._variables:
|
||||
del self._variables[name]
|
||||
return Response(output={'status':'ok'})
|
||||
else:
|
||||
return Response(output={'status':'not_found'})
|
||||
|
||||
|
||||
# vim:sw=4:ts=4:et:
|
||||
|
Loading…
Reference in a new issue