Beispiel #1
0
    class Worker(QObject):
        def __init__(self, parent=None):
            QObject.__init__(self, parent)

        @pyqtSlot()
        def setupDatabase(self):
            from collections import OrderedDict
            self.db = Database('chat-advance.db')
            if not self.db.createConnection():
                EventManager.trigger(Event('Database.databaseConnectionFail'))
                return
            if not self.db.isTableExist(DataCenter.TABLE_FRIENDS):
                self.db.createTable(DataCenter.TABLE_SERVERS, OrderedDict([('name', Database.TYPE_TEXT),
                                    ('url', Database.TYPE_TEXT), ('port', Database.TYPE_TEXT)]))

        @pyqtSlot(str, str)
        def addServer(self, name, desc):
            self.db.addRecord(DataCenter.TABLE_VMS, name=name, desc=desc)
            index = self.db.lastInsertRowId()
            EventManager.trigger(Event('DataCenter.ServerAdded', index, (name, desc)))

        @pyqtSlot(int)
        def delServer(self, index):
            self.db.delRecord(DataCenter.TABLE_VMS, id=index)

        @pyqtSlot()
        def loadAllServers(self):
            items = self.db.load(DataCenter.TABLE_VMS)
            EventManager.trigger(Event('DataCenter.allServersLoaded', items))