예제 #1
0
    def __init__(self):
        super(Server, self).__init__()

        self.config = Config()

        self.log_level = levels[self.config.get("server.log_level", "info")]
        self.motd = self.config.get("server.motd", "PyMine Server")
        self.online_mode = self.config.get("server.online_mode", True)
        self.max_players = self.config.get("server.max_players", 10)

        self.logger = logging.getLogger("Server")
        self.logger.setLevel(self.log_level)
        file = os.path.join(os.path.dirname(__file__), "..", "logs",
                            "server.log")
        filehandler = logging.handlers.RotatingFileHandler(file,
                                                           maxBytes=10000,
                                                           backupCount=1)
        filehandler.setLevel(self.logger.level)
        filehandler.setFormatter(
            logging.Formatter("%(asctime)s - %(levelname)s : %(message)s"))

        self.logger.addHandler(filehandler)
        self.logger.info("Server started on {}:{}.".format(
            self.config.get("server.ip", "127.0.0.2"),
            self.config.get("server.port", 25565)))

        self.command_manager = CommandManager(self)
        self.plugin_manager = PluginManager(self,
                                            self.config.get("plugins", []))
        self.plugin_manager.call("start", self)
예제 #2
0
 def testCreatePass(self):
   parameterHelper = ParameterHelper()
   parameterHelper.setParameters(['-s=orcl'])
   
   configReader = ConfigReader('project.conf')
   connector = OracleConnectorStub()
 
   sqlLoaderConnector = SqlLoaderConnectorStub()
   createPlugin = CreatePlugin()
   createPlugin.setConfigReader(configReader)
   createPlugin.setConnector(connector)
   createPlugin.setSqlLoaderConnector(sqlLoaderConnector)
   
   
   app = NoOraApp()
   pluginManager = PluginManager()
   
   createPlugin.execute(app,parameterHelper,pluginManager)
예제 #3
0
파일: Core.py 프로젝트: euklyd/PenguinBot3K
    def __init__(self):
        # Setup logger and load config
        self.setup_logger()
        self.config = self.load_config("settings")
        self.bot_name = self.config.name

        # Setup managers
        self.watchdog = Watchdog(self)
        self.plugin = PluginManager(self)
        self.event = EventManager(self)
        self.command = CommandManager(self)
        self.ACL = ACL()
        self.workers = Workers(self.config.worker_queue_size,
                               self.config.worker_threads)

        # Setup connection
        self.connection = self.load_connector(self)

        # Load plugins
        self.logger.info("Loading Plugins")
        self.load_plugins()
예제 #4
0
    def __init__(self):
        # Setup logger and load config
        self.setupLogger()
        self.logger.info("Starting new bot session")
        self.logger.info("Loading bot configuration")
        self.config = self.loadConfig("settings")

        # Setup managers
        self.watchdog = Watchdog(self)
        self.plugin = PluginManager(self)
        self.event = EventManager(self)
        self.command = CommandManager(self)
        self.ACL = ACL()
        self.threadPool = ThreadPool(self.config.threadPoolQueueSize,
                                     self.config.threadedWorkers)

        # Setup connection
        self.connection = self.loadConnector(self)

        # Load plugins
        self.logger.info("Loading Plugins")
        self.loadPlugins()
예제 #5
0
	def main(self):
		#TODO: Print banner, 
		try:
			self.wsdlhelper = WSDLHelper()
			self.proj_manager = ProjectManager()
			self.analyzer = responseAnalyzer()
			self.plugin_manager = PluginManager()
			self.core = Core()
			self.gui.start(self)
			
			"""
			#paths['main_path'] = self.mainPath()
			#logger.debug("Main path is: %s" % paths['main_path'])
			parser = optparse.OptionParser('usage %prog -t <seconds>')
			parser.add_option('-t', dest='tout', type='int', default='60', help='specify HTTP timeout in seconds')
			(opts, args) = parser.parse_args()
			if opts.tout:
				socket.setdefaulttimeout(opts.tout)
			else:
				socket.setdefaulttimeout(60)
			logger.info("Setting default timeout to %d seconds" % socket.getdefaulttimeout())
			"""
		except antaresDependenciesException:
			logger.debug("antaresDependenciesException @ Launcher")
예제 #6
0
    def __init__(self):

        # Appel au constructeur de la classe mere
        QtGui.QMainWindow.__init__(self)

        ###########
        # Fenetre #
        ###########

        ###
        # Reglages de la fenetre principale
        ###

        # Nom de la fenetre
        self.setWindowTitle("%s %s" %
                            (Constantes.TVD_NOM, Constantes.TVD_VERSION))
        # Mise en place de son icone
        self.setWindowIcon(QtGui.QIcon("ico/TVDownloader.png"))

        ###
        # Mise en place des widgets dans la fenetre
        ###

        # Widget central qui contiendra tout
        self.centralWidget = QtGui.QWidget(self)

        #
        # Onglets
        #

        # Gestionnaire onglets
        self.tabWidget = QtGui.QTabWidget(self.centralWidget)

        # Onglet Fichiers
        self.tabFichiers = QtGui.QWidget(self.centralWidget)
        self.tabWidget.addTab(self.tabFichiers, u"Fichiers")

        # Onglet Telechargements
        self.tabTelechargements = QtGui.QWidget(self.centralWidget)
        self.tabWidget.addTab(self.tabTelechargements, u"Téléchargements")

        #
        # Onglet Fichiers
        #

        # Layout de grille qui contient les elements de l'onglet Fichier
        self.gridLayoutFichiers = QtGui.QGridLayout(self.tabFichiers)

        # Liste des plugins
        self.listWidgetPlugins = QtGui.QListWidget(self.tabFichiers)
        self.listWidgetPlugins.setIconSize(QtCore.QSize(75, 75))
        self.gridLayoutFichiers.addWidget(self.listWidgetPlugins, 0, 0, 4, 1)

        # Liste des chaines
        self.listWidgetChaines = QtGui.QListWidget(self.tabFichiers)
        self.gridLayoutFichiers.addWidget(self.listWidgetChaines, 0, 1, 1, 1)

        # Liste des emissions
        self.listWidgetEmissions = QtGui.QListWidget(self.tabFichiers)
        self.gridLayoutFichiers.addWidget(self.listWidgetEmissions, 0, 2, 1, 1)

        # Logo de l'emission
        self.logoFichierDefaut = QtGui.QPixmap()
        self.logoFichierDefaut.load("img/logoVide.svg")
        self.labelLogo = QtGui.QLabel(self.tabFichiers)
        self.labelLogo.setScaledContents(True)
        self.labelLogo.setPixmap(
            self.logoFichierDefaut.scaled(QtCore.QSize(150, 150),
                                          QtCore.Qt.KeepAspectRatio))
        self.gridLayoutFichiers.addWidget(self.labelLogo, 0, 3, 1, 1)

        # Descriptif du fichier
        # self.plainTextEditDescriptif = QtGui.QPlainTextEdit( self.tabFichiers )
        # self.gridLayoutFichiers.addWidget( self.plainTextEditDescriptif, 3, 1, 1, 3 )

        #
        # Onglet Fichiers - Liste des fichiers
        #

        # Layout de grille qui contient le tableau qui liste les fichiers et ses boutons
        self.gridLayoutListeFichiers = QtGui.QGridLayout(self.tabFichiers)

        # Tableau qui contient la liste des fichiers disponibles pour l'emission courante
        self.tableWidgetFichier = MyQTableWidget(self.tabFichiers)
        # Il a 4 colonnes et 0 ligne (pour l'instant)
        self.tableWidgetFichier.setColumnCount(3)
        self.tableWidgetFichier.setRowCount(0)
        # On ajoute les titres
        self.tableWidgetFichier.setHorizontalHeaderItem(
            0, self.tableWidgetFichier.creerItem(""))
        self.tableWidgetFichier.setHorizontalHeaderItem(
            1, self.tableWidgetFichier.creerItem("Date"))
        self.tableWidgetFichier.setHorizontalHeaderItem(
            2, self.tableWidgetFichier.creerItem("Emission"))
        # Ajout au layout
        self.gridLayoutListeFichiers.addWidget(self.tableWidgetFichier, 0, 1,
                                               4, 3)

        # Icones du tableWidget
        self.iconeFichier = QtGui.QIcon("ico/gtk-file.svg")
        self.iconeAjoute = QtGui.QIcon("ico/gtk-add.svg")
        self.iconeTelecharge = QtGui.QIcon("ico/gtk-apply.svg")

        # Bouton pour lire le fichier selectionnne
        self.pushButtonLire = MyQPushButton(self.tabFichiers)
        self.pushButtonLire.setIcon(QtGui.QIcon("ico/gtk-media-play-ltr.svg"))
        self.pushButtonLire.setToolTip(u"Lire la vidéo selectionnée")
        self.gridLayoutListeFichiers.addWidget(self.pushButtonLire, 0, 0, 1, 1)

        # Bouton pour ajouter tous les fichiers a la liste des telechargements
        self.pushButtonToutAjouter = MyQPushButton(self.tabFichiers)
        self.pushButtonToutAjouter.setIcon(QtGui.QIcon("ico/gtk-add.svg"))
        self.pushButtonToutAjouter.setToolTip(
            u"Ajouter tous les fichiers à la liste des téléchargements")
        self.gridLayoutListeFichiers.addWidget(self.pushButtonToutAjouter, 1,
                                               0, 1, 1)

        # Bouton pour rafraichir le plugin courant
        self.pushButtonRafraichirPlugin = MyQPushButton(self.tabFichiers)
        self.pushButtonRafraichirPlugin.setIcon(
            QtGui.QIcon("ico/gtk-refresh.svg"))
        self.pushButtonRafraichirPlugin.setToolTip("Rafraichir le plugin")
        self.gridLayoutListeFichiers.addWidget(self.pushButtonRafraichirPlugin,
                                               2, 0, 1, 1)

        # Bouton pour ouvrir la fenetre des preferences du plugin courant
        self.pushButtonPreferencesPlugin = MyQPushButton(self.tabFichiers)
        self.pushButtonPreferencesPlugin.setIcon(
            QtGui.QIcon("ico/gtk-preferences.svg"))
        self.pushButtonPreferencesPlugin.setToolTip(
            u"Ouvrir les préférences du plugin")
        self.gridLayoutListeFichiers.addWidget(
            self.pushButtonPreferencesPlugin, 3, 0, 1, 1)

        # Mise en place du layout sur un widget
        self.widgetFichiers = QtGui.QWidget(self.tabFichiers)
        self.widgetFichiers.setLayout(self.gridLayoutListeFichiers)
        self.gridLayoutFichiers.addWidget(self.widgetFichiers, 1, 1, 2, 3)

        #
        # Barre progression de telechargement d'un fichier
        #
        self.progressBarTelechargementFichier = QtGui.QProgressBar(
            self.centralWidget)
        self.progressBarTelechargementFichier.setProperty("value", 0)

        #
        # Barre de progression de telechargement des fichiers
        #
        self.progressBarTelechargement = QtGui.QProgressBar(self.centralWidget)
        self.progressBarTelechargement.setProperty("value", 0)

        #
        # Boutons du bas pour gerer ajouter/supprimer/lancer telechargements
        #

        # Layout horizontal qui contiendra les boutons
        self.horizontalLayoutBarreBas = QtGui.QHBoxLayout()

        # Bouton pour lancer les telechargements
        self.pushButtonLancer = QtGui.QPushButton(
            QtGui.QIcon("ico/gtk-media-play-ltr.svg"),
            u"Lancer téléchargement", self.centralWidget)
        self.horizontalLayoutBarreBas.addWidget(self.pushButtonLancer)

        # Bouton pour stopper les telechargements
        self.pushButtonStop = QtGui.QPushButton(
            QtGui.QIcon("ico/gtk-media-stop.svg"),
            u"Stopper le téléchargement", self.centralWidget)
        self.pushButtonStop.setEnabled(False)
        self.horizontalLayoutBarreBas.addWidget(self.pushButtonStop)

        ###
        # Positionnement des differents widgets/layouts sur le layout de grille
        ###

        # Layout de grille dans lequel on va placer nos widgets/layouts
        self.gridLayout = QtGui.QGridLayout(self.centralWidget)
        self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 2)
        self.gridLayout.addWidget(self.progressBarTelechargementFichier, 2, 0,
                                  1, 3)
        self.gridLayout.addWidget(self.progressBarTelechargement, 3, 0, 1, 3)
        self.gridLayout.addLayout(self.horizontalLayoutBarreBas, 4, 0, 1, 3)

        ###
        # Mise en place du  central widget dans la fenetre
        ###

        self.setCentralWidget(self.centralWidget)

        ###
        # Mise en place du menu
        ###

        # Menu barre
        self.menubar = QtGui.QMenuBar(self)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 480, 25))

        # Menu Fichier
        self.menuFichier = QtGui.QMenu("&Fichier", self.menubar)
        self.menubar.addAction(self.menuFichier.menuAction())

        # Action Fichier -> Quitter
        self.actionQuitter = QtGui.QAction(QtGui.QIcon("ico/gtk-quit.svg"),
                                           "&Quitter", self.menuFichier)
        self.actionQuitter.setIconVisibleInMenu(True)
        self.menuFichier.addAction(self.actionQuitter)

        # Menu Edition
        self.menuEdition = QtGui.QMenu("&Edition", self.menubar)
        self.menubar.addAction(self.menuEdition.menuAction())

        # Action Edition -> Mise a jour
        self.actionMAJ = QtGui.QAction(QtGui.QIcon("ico/gtk-refresh.svg"),
                                       u"&Mise à jour des plugins",
                                       self.menuEdition)
        self.actionMAJ.setIconVisibleInMenu(True)
        self.menuEdition.addAction(self.actionMAJ)

        # Action Edition -> Preferences
        self.actionPreferences = QtGui.QAction(
            QtGui.QIcon("ico/gtk-preferences.svg"), u"&Préférences",
            self.menuEdition)
        self.actionPreferences.setIconVisibleInMenu(True)
        self.menuEdition.addAction(self.actionPreferences)

        # Menu Aide
        self.menuAide = QtGui.QMenu("&Aide", self.menubar)
        self.menubar.addAction(self.menuAide.menuAction())

        # Action Aide -> A propos
        self.actionAPropos = QtGui.QAction(QtGui.QIcon("ico/gtk-about.svg"),
                                           u"À p&ropos", self.menuAide)
        self.actionAPropos.setIconVisibleInMenu(True)
        self.menuAide.addAction(self.actionAPropos)

        # Ajout du menu a l'interface
        self.setMenuBar(self.menubar)

        self.resize(500, 500)

        ################################################
        # Instanciations + initialisation de variables #
        ################################################

        # Plugin Manager
        self.pluginManager = PluginManager()
        # Mise en place des plugins
        self.ajouterPlugins([
            (inst.nom, inst.logo)
            for inst in self.pluginManager.getPluginListeInstances()
        ])