1 from unfold.plugin import Plugin
\r
3 from datetime import timedelta
\r
5 class Scheduler2 (Plugin):
\r
8 def __init__ (self, query, query_lease, **settings):
\r
9 Plugin.__init__ (self, **settings)
\r
13 self.query_lease = query_lease
\r
14 self.query_lease_uuid = query_lease.query_uuid
\r
16 #query_lease.query_uuid if query_lease else None
\r
18 #granularity in minutes
\r
20 #self.time_slots = []
\r
21 self.time_slots = self.createTimeSlots(granularity)
\r
23 ['Grid Nodes' , ['node016', 'node017', 'node018', 'node019', 'node020', 'node021', 'node029', 'node030', 'node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031',]],
\r
24 ['Other Nodes' , ['node022', 'node023', 'node024','node025', 'node026', 'node027', 'node028',]]
\r
27 def template_file (self):
\r
28 return "scheduler.html"
\r
30 def requirements (self):
\r
34 #'js/slider/jquery-ui-1.10.3.slider.min.js',
\r
35 'js/scheduler-helpers.js',
\r
38 'css/scheduler2.css',
\r
39 #'css/slider/jquery-ui-1.10.3.slider.min.css',
\r
44 # the list of things passed to the js plugin
\r
45 def json_settings_list (self):
\r
46 # query_uuid will pass self.query results to the javascript
\r
47 # and will be available as "record" in :
\r
48 # on_new_record: function(record)
\r
49 return ['plugin_uuid', 'domid', 'query_uuid', 'time_slots', 'nodes', 'query_lease_uuid']
\r
52 def export_json_settings (self):
\r
55 #Creates an Array with the timespans depending on granularity
\r
56 def createTimeSlots (this, granularity):
\r
60 time_s = datetime.time(0,00)
\r
61 time_f = datetime.time(23,59)
\r
62 now = datetime.datetime.now()
\r
64 dt_s = datetime.datetime.combine(now,time_s)
\r
65 dt_f = datetime.datetime.combine(now,time_f)
\r
67 while (dt_s < dt_f):
\r
69 dt_s = dt_s + datetime.timedelta(minutes=granularity)
\r
70 ts = str(tmp.hour).zfill(2) + ':' + str(tmp.minute).zfill(2) + '<span>-</span>' + str(dt_s.hour).zfill(2) + ':' + str(dt_s.minute).zfill(2)
\r
71 time_slots.append(ts)
\r