Beispiel #1
0
class DAgentPluginManager(object):
    def __init__(self, plugindir):
        self.logger = WrapLogger()
        self.pluginmanager = PluginManager(plugindir, self.logger)

        self.pluginmanager.loadPlugins(IMapiDAgentPlugin)

    def PostConverting(self, session, addrbook, store, folder, message):
        return self.pluginmanager.processPluginFunction(
            'PostConverting', session, addrbook, store, folder, message)

    def PreDelivery(self, session, addrbook, store, folder, message):
        return self.pluginmanager.processPluginFunction(
            'PreDelivery', session, addrbook, store, folder, message)

    def PostDelivery(self, session, addrbook, store, folder, message):
        return self.pluginmanager.processPluginFunction(
            'PostDelivery', session, addrbook, store, folder, message)

    def PreRuleProcess(self, session, addrbook, store, rulestable):
        return self.pluginmanager.processPluginFunction(
            'PreRuleProcess', session, addrbook, store, rulestable)

    def SendNewMailNotify(self, session, addrbook, store, folder, message):
        return self.pluginmanager.processPluginFunction(
            'SendNewMailNotify', session, addrbook, store, folder, message)
Beispiel #2
0
class SpoolerPluginManager(object):

    def __init__(self, plugindir, logger):
        self.logger = WrapLogger(logger)
        self.pluginmanager = PluginManager(plugindir, self.logger)

        self.pluginmanager.loadPlugins(IMapiSpoolerPlugin)

    def PreSending(self, session, addrbook, store, folder, message):
         return self.pluginmanager.processPluginFunction('PreSending', session, addrbook, store, folder, message)
Beispiel #3
0
def main():
    manager = PluginManager()
    manager.setPluginPaths(["plugins"])
    manager.loadPlugins()
    app = QApplication(sys.argv)

    dialog = PluginDialog(manager)

    dialog.show()
    app.exec_()
Beispiel #4
0
class Client(object):

    def __init__(self):
        self.pluginmanager = PluginManager()
        self.pluginmanager.loadPlugins()

    @classmethod
    def loadFont(cls):
        """加载外部字体"""
        path = os.path.join(Settings().dataDir, "fonts")
        for font in os.listdir(path):
            QFontDatabase.addApplicationFont(os.path.join(path, font))