plugins/canfestival/canfestival.py
author lbessard
Mon, 20 Aug 2007 14:28:08 +0200
changeset 11 75ae893d5eed
child 12 a1f9e514f708
permissions -rw-r--r--
Adding plugin support in Beremiz
11
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     1
from nodelist import NodeList
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     2
from nodemanager import NodeManager
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     3
import config_utils, gen_cfile
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     4
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     5
class _Beremiz_CanFestival_Controller(NodeList):
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     6
    def __init__(self, buspath, bus_id):
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     7
        self.bus_id = bus_id
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     8
        manager = NodeManager()
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
     9
        NodeList.__init__(self, manager)
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    10
        self.LoadProject(buspath)
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    11
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    12
    def SaveBus(self):
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    13
        self.SaveProject()
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    14
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    15
    def Generate_C(self, filepath, locations):
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    16
        """
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    17
        return C code for network dictionnary
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    18
        """
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    19
        master = config_utils.GenerateConciseDCF(locations, self)
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    20
        res = gen_cfile.GenerateFile(filepath, master)
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    21
        if not res:
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    22
             s = str(self.bus_id)+"_IN(){}\n"
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    23
             f = file(filepath, 'a')
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    24
             f.write(s)
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    25
        else:
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    26
             pass # error
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    27
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    28
def BlockListFactory(bmz_inst):
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    29
    return []
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    30
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    31
def ControllerFactory():
75ae893d5eed Adding plugin support in Beremiz
lbessard
parents:
diff changeset
    32
  return _Beremiz_CanFestival_Controller()