Exemple #1
0
 def stop(self):
     """Userver stop"""
     super(UServer, self).stop()
     PluginManager.getManager().unloadAllPlugins()
     if self.isEnableSocket:
         self.sock.close()
     ConfManager.getManager().save()
 def stop(self):
     """Userver stop"""
     super(UServer, self).stop()
     PluginManager.getManager().unloadAllPlugins()
     if self.isEnableSocket:
         self.sock.close()
     ConfManager.getManager().save()
Exemple #3
0
    def configure(self):
        """server self configure when it is started"""
        register_openers()
        PluginManager.getManager().loadAllPlugins()
        confManager = ConfManager.getManager()
        proxy = confManager.getValue('common', 'network')

        if proxy['proxy'] != "" and proxy['proxy'] != None:
            param = {'http': 'http://%s' % proxy['proxy'], 'https': 'https://%s' % proxy['proxy'] }
            set_proxy(param)
            logging.debug('[%s]: set proxy server %s', self.getName(), proxy['proxy'])
    def configure(self):
        """server self configure when it is started"""
        register_openers()
        PluginManager.getManager().loadAllPlugins()
        confManager = ConfManager.getManager()
        proxy = confManager.getValue('common', 'network')

        if proxy['proxy'] != "" and proxy['proxy'] != None:
            param = {
                'http': 'http://%s' % proxy['proxy'],
                'https': 'https://%s' % proxy['proxy']
            }
            set_proxy(param)
            logging.debug('[%s]: set proxy server %s', self.getName(),
                          proxy['proxy'])
    def __init__(self, name=None):
        super(UCloudActor, self).__init__(name)
        self.setMsgUid(MSG_UNIQUE_ID_T_CLOUD_ACTOR)
        self.pluginManager = PluginManager.getManager()

        self.addListener(MSG_UNIQUE_ID_T_CONTROLLER)
        self.addListener(MSG_UNIQUE_ID_T_FS_MONITOR)

        self.addHandler(MSG_TYPE_T_FILE, self.handleFile)
        self.addHandler(MSG_TYPE_T_OPER, self.handleOper)

        self.__fileActionTable = {
                MSG_ID_T_FILE_CREATE: self.handleFileCreate,
                MSG_ID_T_FILE_DELETE: self.handleFileDelete,
                MSG_ID_T_FILE_MODIFY: self.handleFileModify,
                MSG_ID_T_FILE_MKDIR: self.handleFileMkdir,
                MSG_ID_T_FILE_LIST: self.handleFileList,
                MSG_ID_T_FILE_SYNC: self.handleFileSync,
                MSG_ID_T_FILE_RENAME: self.handleFileRename,
                MSG_ID_T_FILE_INFO: self.handleFileInfo,
                }
    def connBtnSlots(self, btn):
        """docstring for connBtnSlots"""
        if btn is self.ui.connBtn:
            if btn.text() == 'Connect':
                msg = self.server.initMsg('info', None, MSG_UNIQUE_ID_T_CONTROLLER, True, {'name': 'all'})
                UMsgBus.getBus().send(msg)
                #res, data = self.server.getHandler('info')({'name': 'all'})
                btn.setText('Connecting')
                #self.ui.infoLabel.setText(data)
                logging.debug('[%s]: Press Connect to getCloudInfo', self.getName())
            elif btn.text() == 'Disconnect':
                #self.server.getHandler('stop')({'name': 'all'})
                btn.setText('Connect')
                self.ui.infoLabel.setText('Cloud Disk is disconnected')

        elif btn is self.ui.addFolderBtn:
            fileDialog = QFileDialog(self)
            fileDialog.setWindowTitle('Select Folder')
            folderPath = fileDialog.getExistingDirectory()
            if folderPath != "":
                listItem = QListWidgetItem(QIcon('icon/folder.png'), folderPath, self.ui.folderList)
                pyStr = '%s' % folderPath
                logging.debug('[%s]: add folder path %s', self.getName(), pyStr)
                self.ui.folderList.insertItem(self.ui.folderList.count(), listItem)
                folderList = ConfManager.getManager().getValue('common', 'folders')
                folderList.append(pyStr)
                ConfManager.getManager().setValue('common', 'folders', folderList)
                #send watch dir request
                msg =  self.server.initMsg('watch', None, MSG_UNIQUE_ID_T_CONTROLLER, True, {'path': pyStr, 'action': 'add'})
                UMsgBus.getBus().send(msg)
                self.statusbar.showMessage('Adding watch path %s' % folderPath)

        elif btn is self.ui.rmFolderBtn:
            row = self.ui.folderList.currentRow()
            item = self.ui.folderList.currentItem()
            folderList = ConfManager.getManager().getValue('common', 'folders')
            self.statusbar.showMessage('Removing watch path %s' % item.text())
            pyStr = '%s' % item.text()
            folderList.remove(pyStr)
            ConfManager.getManager().setValue('common', 'folders', folderList)
            logging.debug('[%s]: remove item %d %s', self.getName(), row, item.text())
            msg =  self.server.initMsg('watch', None, MSG_UNIQUE_ID_T_CONTROLLER, True, {'path': pyStr, 'action': 'rm'})
            UMsgBus.getBus().send(msg)
            self.ui.folderList.takeItem(row)

        elif btn is self.ui.saveBtn:
            proxyConf = ConfManager.getManager().getValue('common', 'network')
            server = str(self.ui.proxyLineEdit.text())

            if server != "" and server != None:
                user = str(self.ui.proxyNameLineEdit.text())
                password = str(self.ui.proxyPwdLineEdit.text())
                logging.debug('[%s]: save server=>%s user=>%s password=>%s into configuration',
                              self.getName(), server, user, password)
                proxyConf['proxy'] = server
                proxyConf['user'] = user
                proxyConf['password'] = password
                ConfManager.getManager().setValue('common', 'network', proxyConf)
                msg =  self.server.initMsg('proxy', None, MSG_UNIQUE_ID_T_CONTROLLER, True,
                            {'http': 'http://%s' % server, 'https': 'https://%s' % server})
                UMsgBus.getBus().send(msg)
                self.statusbar.showMessage('Applying proxy %s' % server)

                ConfManager.getManager().save()

        elif btn is self.ui.resetBtn:
            proxyConf = ConfManager.getManager().getValue('common', 'network')
            server = proxyConf['proxy']
            user = proxyConf['user']
            password = proxyConf['password']
            port = proxyConf['port']

            self.ui.proxyLineEdit.setText(server)
            self.ui.proxyNameLineEdit.setText(user)
            self.ui.proxyPwdLineEdit.setText(password)
            self.ui.portLineEdit.setText(str(port))
            self.ui.serverEnableCheckBox.setCheckState(0)

        elif btn is self.ui.unloadBtn:
            row = self.ui.pluginList.currentRow()
            it = str(self.ui.pluginList.currentItem().text())
            logging.debug('[%s]: unload plugin name %s', self.getName(), it)
            self.statusbar.showMessage('Unloading plugin %s' % it)
            PluginManager.getManager().unload(it)
            self.ui.pluginList.takeItem(row)
            conf = ConfManager.getManager().getValue('common', 'plugins')
            for pc in conf:
                if pc['name'] == it:
                    conf.remove(pc)
            ConfManager.getManager().setValue('common', 'plugins', conf)

        elif btn is self.ui.reloadBtn:
            row = self.ui.pluginList.currentRow()
            it = str(self.ui.pluginList.currentItem().text())
            logging.debug('[%s]: reload plugin name %s', self.getName(), it)
            self.statusbar.showMessage('Reloading plugin %s' % it)
            PluginManager.getManager().reload(it)

        elif btn is self.ui.addPluginBtn:
            path = QFileDialog.getOpenFileName(self)
            PluginManager.getManager().loadPluginFromPath(str(path))

        elif btn is self.ui.syncFolderBtn:
            folder = str(self.ui.folderList.currentItem().text())
            msg =  self.server.initMsg('sync', None, MSG_UNIQUE_ID_T_CONTROLLER, True, {'path': str(folderPath), 'action': 'add'})
            UMsgBus.getBus().send(msg)
            self.statusbar.showMessage('Sync %s with cloud' % folder)
Exemple #7
0
 def __init__(self, name):
     super(Plugin, self).__init__()
     self.name = name
     self.manager = PluginManager.getManager()
     self.__API = None
    def connBtnSlots(self, btn):
        """docstring for connBtnSlots"""
        if btn is self.ui.connBtn:
            if btn.text() == 'Connect':
                msg = self.server.initMsg('info', None,
                                          MSG_UNIQUE_ID_T_CONTROLLER, True,
                                          {'name': 'all'})
                UMsgBus.getBus().send(msg)
                #res, data = self.server.getHandler('info')({'name': 'all'})
                btn.setText('Connecting')
                #self.ui.infoLabel.setText(data)
                logging.debug('[%s]: Press Connect to getCloudInfo',
                              self.getName())
            elif btn.text() == 'Disconnect':
                #self.server.getHandler('stop')({'name': 'all'})
                btn.setText('Connect')
                self.ui.infoLabel.setText('Cloud Disk is disconnected')

        elif btn is self.ui.addFolderBtn:
            fileDialog = QFileDialog(self)
            fileDialog.setWindowTitle('Select Folder')
            folderPath = fileDialog.getExistingDirectory()
            if folderPath != "":
                listItem = QListWidgetItem(QIcon('icon/folder.png'),
                                           folderPath, self.ui.folderList)
                pyStr = '%s' % folderPath
                logging.debug('[%s]: add folder path %s', self.getName(),
                              pyStr)
                self.ui.folderList.insertItem(self.ui.folderList.count(),
                                              listItem)
                folderList = ConfManager.getManager().getValue(
                    'common', 'folders')
                folderList.append(pyStr)
                ConfManager.getManager().setValue('common', 'folders',
                                                  folderList)
                #send watch dir request
                msg = self.server.initMsg('watch', None,
                                          MSG_UNIQUE_ID_T_CONTROLLER, True, {
                                              'path': pyStr,
                                              'action': 'add'
                                          })
                UMsgBus.getBus().send(msg)
                self.statusbar.showMessage('Adding watch path %s' % folderPath)

        elif btn is self.ui.rmFolderBtn:
            row = self.ui.folderList.currentRow()
            item = self.ui.folderList.currentItem()
            folderList = ConfManager.getManager().getValue('common', 'folders')
            self.statusbar.showMessage('Removing watch path %s' % item.text())
            pyStr = '%s' % item.text()
            folderList.remove(pyStr)
            ConfManager.getManager().setValue('common', 'folders', folderList)
            logging.debug('[%s]: remove item %d %s', self.getName(), row,
                          item.text())
            msg = self.server.initMsg('watch', None,
                                      MSG_UNIQUE_ID_T_CONTROLLER, True, {
                                          'path': pyStr,
                                          'action': 'rm'
                                      })
            UMsgBus.getBus().send(msg)
            self.ui.folderList.takeItem(row)

        elif btn is self.ui.saveBtn:
            proxyConf = ConfManager.getManager().getValue('common', 'network')
            server = str(self.ui.proxyLineEdit.text())

            if server != "" and server != None:
                user = str(self.ui.proxyNameLineEdit.text())
                password = str(self.ui.proxyPwdLineEdit.text())
                logging.debug(
                    '[%s]: save server=>%s user=>%s password=>%s into configuration',
                    self.getName(), server, user, password)
                proxyConf['proxy'] = server
                proxyConf['user'] = user
                proxyConf['password'] = password
                ConfManager.getManager().setValue('common', 'network',
                                                  proxyConf)
                msg = self.server.initMsg('proxy', None,
                                          MSG_UNIQUE_ID_T_CONTROLLER, True, {
                                              'http': 'http://%s' % server,
                                              'https': 'https://%s' % server
                                          })
                UMsgBus.getBus().send(msg)
                self.statusbar.showMessage('Applying proxy %s' % server)

                ConfManager.getManager().save()

        elif btn is self.ui.resetBtn:
            proxyConf = ConfManager.getManager().getValue('common', 'network')
            server = proxyConf['proxy']
            user = proxyConf['user']
            password = proxyConf['password']
            port = proxyConf['port']

            self.ui.proxyLineEdit.setText(server)
            self.ui.proxyNameLineEdit.setText(user)
            self.ui.proxyPwdLineEdit.setText(password)
            self.ui.portLineEdit.setText(str(port))
            self.ui.serverEnableCheckBox.setCheckState(0)

        elif btn is self.ui.unloadBtn:
            row = self.ui.pluginList.currentRow()
            it = str(self.ui.pluginList.currentItem().text())
            logging.debug('[%s]: unload plugin name %s', self.getName(), it)
            self.statusbar.showMessage('Unloading plugin %s' % it)
            PluginManager.getManager().unload(it)
            self.ui.pluginList.takeItem(row)
            conf = ConfManager.getManager().getValue('common', 'plugins')
            for pc in conf:
                if pc['name'] == it:
                    conf.remove(pc)
            ConfManager.getManager().setValue('common', 'plugins', conf)

        elif btn is self.ui.reloadBtn:
            row = self.ui.pluginList.currentRow()
            it = str(self.ui.pluginList.currentItem().text())
            logging.debug('[%s]: reload plugin name %s', self.getName(), it)
            self.statusbar.showMessage('Reloading plugin %s' % it)
            PluginManager.getManager().reload(it)

        elif btn is self.ui.addPluginBtn:
            path = QFileDialog.getOpenFileName(self)
            PluginManager.getManager().loadPluginFromPath(str(path))

        elif btn is self.ui.syncFolderBtn:
            folder = str(self.ui.folderList.currentItem().text())
            msg = self.server.initMsg('sync', None, MSG_UNIQUE_ID_T_CONTROLLER,
                                      True, {
                                          'path': str(folderPath),
                                          'action': 'add'
                                      })
            UMsgBus.getBus().send(msg)
            self.statusbar.showMessage('Sync %s with cloud' % folder)
 def __init__(self, name):
     super(Plugin, self).__init__()
     self.name = name
     self.manager = PluginManager.getManager()
     self.__API = None