class Content(object): def __init__(self, filename): self.plugin_list = PluginList() if os.path.exists(filename): print "Opening file %s" % (filename) self.plugin_list.populate_plugin_list(filename) def display(self): print self.plugin_list.get_string() def save(self, filename): self.plugin_list.save_plugin_list(filename) def modify(self, element, subelement, value): data_elements = self.plugin_list.plugin_list[element-1]['data'] if subelement in data_elements.keys(): data_elements[subelement] = value else: print("Sorry, element %i does not have a %s parameter" % (element, subelement)) def insert(self, plugin, pos): print plugin print plugin.name print plugin.__module__ process = {} process['name'] = plugin.name process['id'] = "savu.plugins." + plugin.__module__ process['data'] = plugin.parameters self.plugin_list.plugin_list.insert(pos, process) def remove(self, pos): self.plugin_list.plugin_list.pop(pos)
class Content(object): def __init__(self, filename): self.plugin_list = PluginList() self.filename = filename if os.path.exists(filename): print "Opening file %s" % (filename) self.plugin_list.populate_plugin_list(filename, activePass=True) def display(self, **kwargs): print '\n', self.plugin_list.get_string(**kwargs), '\n' def save(self, filename): if filename == "": filename = self.filename else: self.filename = filename print "Saving file %s" % (filename) self.plugin_list.save_plugin_list(filename) def add(self, name, pos): plugin = pu.plugins[name]() plugin.populate_default_parameters() self.insert(plugin, pos) self.display() def modify(self, element, subelement, value): data_elements = self.plugin_list.plugin_list[element-1]['data'] try: position = int(subelement) - 1 data_elements[data_elements.keys()[position]] = value except: if subelement in data_elements.keys(): data_elements[subelement] = value else: print("Sorry, element %i does not have a %s parameter" % (element, subelement)) def convert_to_ascii(self, value): ascii_list = [] for v in value: ascii_list.append(v.encode('ascii', 'ignore')) return ascii_list def on_and_off(self, element, index): if index < 2: print "switching plugin", element, "ON" self.plugin_list.plugin_list[element-1]['active'] = True else: print "switching plugin", element, "OFF" self.plugin_list.plugin_list[element-1]['active'] = False def insert(self, plugin, pos): process = {} process['name'] = plugin.name process['id'] = "savu.plugins." + plugin.__module__ process['data'] = plugin.parameters process['active'] = True self.plugin_list.plugin_list.insert(pos, process) def remove(self, pos): self.plugin_list.plugin_list.pop(pos) def size(self): return len(self.plugin_list.plugin_list)