-# DEMO
- # --------------------------------------------------------------------------
- # MEASUREMENTS
- measurements_stats_cpu = SliceStat(
- title = "CPU Usage",
- domid = 'resources-stats-cpu',
- page = page,
- stats = 'slice',
- key = 'hrn',
- query = 'none',
- slicename = slicename,
- o = 'cpu'
- )
-
- measurements_stats_mem = SliceStat(
- title = "Memory Usage",
- domid = 'resources-stats-mem',
- page = page,
- stats = 'slice',
- key = 'hrn',
- query = 'none',
- slicename = slicename,
- o = 'mem'
- )
-
- measurements_stats_asb = SliceStat(
- title = "Traffic Sent",
- domid = 'resources-stats-asb',
- page = page,
- stats = 'slice',
- key = 'hrn',
- query = 'none',
- slicename = slicename,
- o = 'asb'
- )
-
- measurements_stats_arb = SliceStat(
- title = "Traffic Received",
- domid = 'resources-stats-arb',
- page = page,
- stats = 'slice',
- key = 'hrn',
- query = 'none',
- slicename = slicename,
- o = 'arb'
- )
-
- tab_measurements = Tabs ( page=page,
- domid="measurements",
- togglable=True,
- toggled = False,
- title="Measurements",
- outline_complete=True,
- sons=[ measurements_stats_cpu, measurements_stats_mem, measurements_stats_asb, measurements_stats_arb ],
- active_domid = 'measurements_stats_cpu',
- )
- main_stack.insert (tab_measurements)
-
-# tab_measurements = Tabs (
-# page = page,
-# active_domid = 'measurements-list',
-# outline_complete = True,
-# togglable = True,
-# title = 'Measurements',
-# domid = 'measurements',
-# )
-# main_stack.insert(tab_measurements)
-#
-# tab_measurements.insert(QueryTable(
-# page = page,
-# title = 'Measurements',
-# domid = 'measurements-list',
-# # tab's sons preferably turn this off
-# togglable = False,
-# # this is the query at the core of the slice list
-# query = sq_measurement,
-# # do NOT set checkboxes to False
-# # this table being otherwise empty, it just does not fly with dataTables
-# checkboxes = True,
-# datatables_options = {
-# 'iDisplayLength' : 25,
-# 'bLengthChange' : True,
-# 'bAutoWidth' : True,
-# },
-# ))
-#
-# # --------------------------------------------------------------------------
-# # MESSAGES (we use transient=False for now)
- if insert_messages:
- main_stack.insert(Messages(
- page = page,
- title = "Runtime messages for slice %s"%slicename,
- domid = "msgs-pre",
- levels = "ALL",
- # plain messages are probably less nice for production but more reliable for development for now
- transient = False,
- # these make sense only in non-transient mode..
- togglable = True,
- toggled = 'persistent',
- outline_complete = True,
- ))
-
-
- # variables that will get passed to the view-unfold1.html template
- template_env = {}
-
- # define 'unfold_main' to the template engine - the main contents
- template_env [ 'unfold_main' ] = main_stack.render(request)
-
- # more general variables expected in the template
- template_env [ 'title' ] = '%(slicename)s'%locals()
- # the menu items on the top
- template_env [ 'topmenu_items' ] = topmenu_items('Slice', request)
- # so we can sho who is logged
- template_env [ 'username' ] = the_user (request)
-
- # don't forget to run the requests
- page.expose_queries ()
-
- # xxx create another plugin with the same query and a different layout (with_datatables)
- # show that it worls as expected, one single api call to backend and 2 refreshed views
-
- # the prelude object in page contains a summary of the requirements() for all plugins
- # define {js,css}_{files,chunks}
- prelude_env = page.prelude_env()
- template_env.update(prelude_env)
- result=render_to_response ('view-unfold1.html',template_env,
- context_instance=RequestContext(request))
- return result