Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)