messages can be passed a levels dict, or for convenience 'ALL' or 'NONE'
[myslice.git] / plugins / messages / messages.py
1 from unfold.plugin import Plugin
2
3 # lists levels and sets them to enabled or not at startup
4 default_levels = {'fatal': True, 'error': True, 'warning' : True, 'info' : True, 'debug' : False}
5
6 class Messages (Plugin):
7
8     def __init__ (self, levels=None, **settings):
9         Plugin.__init__ (self, **settings)
10         if levels is None: levels=default_levels
11         # shortcut: 'ALL' turn everything on
12         elif levels=='ALL': levels=dict( [ (k,True) for k in default_levels ] )
13         elif levels=='NONE': levels=dict( [ (k,False) for k in default_levels ] )
14         self.levels=levels
15
16     def template_file (self):
17         return "messages.html"
18
19     def requirements (self):
20         return {
21             'js_files' :  [ "js/messages.js", "js/manifold.js", ],
22             'css_files' : "css/messages.css",
23             }
24
25     # although this has no query, we need a plugin instance to be created in the js output
26     def export_json_settings (self):
27         return True
28     # the js plugin expects a domid
29     def json_settings_list (self):
30         return [ 'plugin_uuid', 'levels' ]
31
32     # and we don't need a spin wheel 
33     def start_with_spin (self):
34         return False