def init_ui(self):
        """
        Initialize the interface
        """

        # Initialize tab screen
        self.tabs.resize(600, 200)
        logger.debug("Initialized tab screen")

        # Add tabs
        self.add_new_tab("Login...")
        self.add_new_tab("", False)
        self.tabs.currentChanged.connect(self.on_change)
        logger.debug("Created tabs")

        # Add tabs to widget
        self.main_layout.addWidget(self.tabs)
        logger.debug("Added tabs to widget")

        # Add text log
        text_log_frame = QPlainTextEdit(self)
        text_log_frame.setFixedHeight(80)
        self.main_layout.addWidget(text_log_frame)

        # configure logging
        text_log_handler = QTextEditLoggerHandler(text_log_frame)
        logger.addHandler(text_log_handler)

        # Set main layout
        self.setLayout(self.main_layout)
Ejemplo n.º 2
0
 def _set_log_file_handler(self, log_file):
     if self.log_file_handler:
         self._destroy_log_file_handler()
     self.log_file_handler = logging.FileHandler(log_file)
     formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
     self.log_file_handler.setFormatter(formatter)
     logger.addHandler(self.log_file_handler)
     logger.info('[App] added log_file_handler: %s' % log_file)
Ejemplo n.º 3
0
async def add_discord_logging_handler(character_description):
    discord_handler = DiscordHandler(ChannelCollection.LOG.value)
    discord_handler.setLevel(logging.WARNING)
    formatter = logging.Formatter(u"**%(levelname)s** *[%(module)s %(funcName)s %(lineno)d]*: ```%(message)s```")
    discord_handler.setFormatter(formatter)
    if await discord_handler.start_discord_handler(character_description):
        logger.addHandler(discord_handler)
        logger.info("Discord logging handler added!")
    return discord_handler
Ejemplo n.º 4
0
 def __init__(self):
     super(MainWindow, self).__init__()
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     logTextBox = QTextEditLogger(self.ui.log_plain_text_edit)
     logTextBox.setFormatter(
         logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
     logger.addHandler(logTextBox)
     self.ui.target_button.clicked.connect(self.handle_target_input)
     self.ui.keyword_button.clicked.connect(self.handle_keyword_input)
     self.ui.start_button.clicked.connect(self.handle_start)
     self.ui.exit_button.clicked.connect(self.handle_exit)
Ejemplo n.º 5
0
Archivo: option.py Proyecto: wehu/pydv
def args_parse():

    p = OptionParser()
    p.add_option('-e', '--expr', dest='expr', action='append', type='string',
                 help='specify experssion')
    p.add_option('-v', '--verbose', dest='verbose', default='2',
                 help='specify verbose level')
    p.add_option('-o', '--out_dir', dest='out_dir', default='logs', type='string',
                 help='specify output directory')
    p.add_option('-l', '--logfile', dest='logfile', default='dvpy_master.log', type='string',
                 help='specify log filename')
    p.add_option('-m', '--max_agents', dest='max_agents', default=1, type='int',
                 help='specify max agent number')
    p.add_option('-s', '--suite', dest='suite', action='callback', type='string', callback=add_suite,
                 help='specify suite')
    p.add_option('-t', '--test', action='callback', dest='test', type='string', callback=add_test,
                 help='specify test')
    p.add_option('-w', '--where', action='store', dest='where', type='string',
                 help='specify test selector')
    p.add_option('-a', '--action', action='append', dest='action', type='string',
                 help='specify action')
    p.add_option('-f', '--patchfile', action='append', dest='patchfile', type='string',
                 help='specify patch file')
    p.add_option('-g', '--gcf', dest='gcf', type='string', default='local',
                 help='specify gcf')

    (opts, args) = p.parse_args()

    logger.setLevel(get_level(opts.verbose))

    master_log = path.abspath(path.join(opts.out_dir, opts.logfile))
    try:
        makedirs(path.dirname(master_log))
    except Exception as e:
        pass
    if path.exists(master_log):
        rename(master_log, (master_log+'.bak'))
    fh = logging.FileHandler(master_log)
    fh.setFormatter(logging.Formatter(FORMAT))
    fh.setLevel(get_level(opts.verbose))

    logger.addHandler(fh)

    return (opts, args)
Ejemplo n.º 6
0
def main():

    global host, port, agent_id, out_dir

    p = OptionParser()
    p.add_option('-m', '--host', dest='host', help='specify host name')
    p.add_option('-p', '--port', dest='port', help='specify port')
    p.add_option('-i', '--id', dest='id', help='specify id name')
    p.add_option('-o',
                 '--out_dir',
                 dest='out_dir',
                 help='specify output directory')
    p.add_option('-v',
                 '--verbose',
                 dest='verbose',
                 default='1',
                 help='specify verbose level')

    (options, args) = p.parse_args()

    host = options.host
    port = int(options.port)
    agent_id = options.id
    out_dir = path.abspath(options.out_dir)

    logger.setLevel(get_level(options.verbose))

    agent_log = path.abspath(path.join(out_dir, 'agents', agent_id))
    try:
        os.makedirs(path.dirname(agent_log))
    except Exception as e:
        pass
    if path.exists(agent_log):
        rename(agent_log, (agent_log + '.bak'))
    fh = logging.FileHandler(agent_log)
    fh.setFormatter(logging.Formatter(FORMAT))
    fh.setLevel(get_level(options.verbose))

    logger.addHandler(fh)

    run()
Ejemplo n.º 7
0
Archivo: server.py Proyecto: wehu/pydv
def start_agent_server(_out_q, _in_q, out_dir, verbose):

    global in_q, out_q

    in_q = _in_q
    out_q = _out_q

    logger.setLevel(get_level(verbose))

    server_log = path.abspath(path.join(out_dir, 'agent_server.log'))
    try:
        os.makedirs(path.dirname(server_log))
    except Exception as e:
        pass
    if path.exists(server_log):
        os.rename(server_log, (server_log+'.bak'))
    fh = logging.FileHandler(server_log)
    fh.setFormatter(logging.Formatter(FORMAT))
    fh.setLevel(get_level(verbose))

    logger.addHandler(fh)
    
    loop = asyncio.get_event_loop()

    server_host = socket.gethostname()
    server_ip = socket.gethostbyname(server_host)
    
    coro = loop.create_server(AgentServerProtocal, server_ip)
    server = loop.run_until_complete(coro)

    _, server_port = server.sockets[0].getsockname()

    logger.info('agent server started on {}:{}'.format(server_host, server_port))    

    out_q.put((server_host, server_port))

    loop.run_forever()

    server.close()
    loop.run_until_complete(server.wait_closed())
    loop.close()
Ejemplo n.º 8
0
Archivo: agent.py Proyecto: wehu/pydv
def main():

    global host, port, agent_id, out_dir
    
    p = OptionParser()
    p.add_option('-m', '--host', dest='host',
                 help='specify host name')
    p.add_option('-p', '--port', dest='port',
                 help='specify port')
    p.add_option('-i', '--id', dest='id',
                 help='specify id name')
    p.add_option('-o', '--out_dir', dest='out_dir',
                 help='specify output directory')
    p.add_option('-v', '--verbose', dest='verbose', default='1',
                 help='specify verbose level')
    
    (options, args) = p.parse_args()

    host = options.host
    port = int(options.port)
    agent_id = options.id
    out_dir = path.abspath(options.out_dir)

    logger.setLevel(get_level(options.verbose))

    agent_log = path.abspath(path.join(out_dir, 'agents', agent_id))
    try:
        os.makedirs(path.dirname(agent_log))
    except Exception as e:
        pass
    if path.exists(agent_log):
        rename(agent_log, (agent_log+'.bak'))
    fh = logging.FileHandler(agent_log)
    fh.setFormatter(logging.Formatter(FORMAT))
    fh.setLevel(get_level(options.verbose))

    logger.addHandler(fh)

    run()
Ejemplo n.º 9
0
def args_parse():

    p = OptionParser()
    p.add_option('-e',
                 '--expr',
                 dest='expr',
                 action='append',
                 type='string',
                 help='specify experssion')
    p.add_option('-v',
                 '--verbose',
                 dest='verbose',
                 default='2',
                 help='specify verbose level')
    p.add_option('-o',
                 '--out_dir',
                 dest='out_dir',
                 default='logs',
                 type='string',
                 help='specify output directory')
    p.add_option('-l',
                 '--logfile',
                 dest='logfile',
                 default='dvpy_master.log',
                 type='string',
                 help='specify log filename')
    p.add_option('-m',
                 '--max_agents',
                 dest='max_agents',
                 default=1,
                 type='int',
                 help='specify max agent number')
    p.add_option('-s',
                 '--suite',
                 dest='suite',
                 action='callback',
                 type='string',
                 callback=add_suite,
                 help='specify suite')
    p.add_option('-t',
                 '--test',
                 action='callback',
                 dest='test',
                 type='string',
                 callback=add_test,
                 help='specify test')
    p.add_option('-w',
                 '--where',
                 action='store',
                 dest='where',
                 type='string',
                 help='specify test selector')
    p.add_option('-a',
                 '--action',
                 action='append',
                 dest='action',
                 type='string',
                 help='specify action')
    p.add_option('-f',
                 '--patchfile',
                 action='append',
                 dest='patchfile',
                 type='string',
                 help='specify patch file')
    p.add_option('-g',
                 '--gcf',
                 dest='gcf',
                 type='string',
                 default='local',
                 help='specify gcf')

    (opts, args) = p.parse_args()

    logger.setLevel(get_level(opts.verbose))

    master_log = path.abspath(path.join(opts.out_dir, opts.logfile))
    try:
        makedirs(path.dirname(master_log))
    except Exception as e:
        pass
    if path.exists(master_log):
        rename(master_log, (master_log + '.bak'))
    fh = logging.FileHandler(master_log)
    fh.setFormatter(logging.Formatter(FORMAT))
    fh.setLevel(get_level(opts.verbose))

    logger.addHandler(fh)

    return (opts, args)
Ejemplo n.º 10
0
def _log():
	file_handler = logging.FileHandler('search.log')
	file_handler.setFormatter(logging.Formatter('[%(asctime)s] %(message)s', \
			'%H:%M:%S'))
	file_handler.setLevel(logging.DEBUG)
	logger.addHandler(file_handler)
Ejemplo n.º 11
0
from provider import *
from cities import *
from logger import logger
import logging
from sys import stdout
from os.path import join, dirname

if __name__ == '__main__':
    # Enable logging to debug requests to OpenWeatherMap
    logger.setLevel(logging.DEBUG)
    logger.addHandler(logging.StreamHandler(stdout))

    # Get your API key
    with open(join(dirname(dirname(__file__)), 'data', 'api_key.txt')) as fh:
        api_key = fh.read()

    # Search my city
    my_city = City.get_by_name(name='Olite', country='es')

    # Get current weather time
    provider = Provider(api_key)
    weather = provider.get_current_weather(city=my_city)

    # Print weather time info
    print(str(weather))
Ejemplo n.º 12
0
    def __init__(self):
        args = parse_args()

        print 'Arguments: %s' % args

        self.name = "microdrop.app"
        # get the version number
        self.version = ""
        try:
            raise Exception
            version = subprocess.Popen(['git','describe'],
                                       stdout=subprocess.PIPE,
                                       stderr=subprocess.PIPE,
                                       stdin=subprocess.PIPE).communicate()[0].rstrip()
            m = re.match('v(\d+)\.(\d+)-(\d+)', version)
            self.version = "%s.%s.%s" % (m.group(1), m.group(2), m.group(3))
            branch = subprocess.Popen(['git','rev-parse', '--abbrev-ref', 'HEAD'],
                                       stdout=subprocess.PIPE,
                                       stderr=subprocess.PIPE,
                                       stdin=subprocess.PIPE).communicate()[0].rstrip()
            if branch.strip() != 'master':
                self.version += "-%s" % branch
        except:
            import pkg_resources

            version = pkg_resources.get_distribution('microdrop').version

            dev = ('dev' in version)

            self.version = re.sub('\.dev.*', '',
                                  re.sub('post', '', version))
            if dev:
                self.version += "-dev"

        self.realtime_mode = False
        self.running = False
        self.builder = gtk.Builder()
        self.signals = {}
        self.plugin_data = {}

        # these members are initialized by plugins
        self.experiment_log_controller = None
        self.config_controller = None
        self.dmf_device_controller = None
        self.protocol_controller = None
        self.main_window_controller = None

        # Enable custom logging handler
        logger.addHandler(CustomHandler())
        self.log_file_handler = None

        # config model
        try:
            self.config = Config(args.config)
        except IOError:
            logging.error('Could not read configuration file, `%s`.  Make sure'
                          ' it exists and is readable.', args.config)
            raise SystemExit(-1)

        # set the log level
        if self.name in self.config.data and ('log_level' in
                                              self.config.data[self.name]):
            self._set_log_level(self.config.data[self.name]['log_level'])
        logger.info('Microdrop version: %s', self.version)
        logger.info('Running in working directory: %s', os.getcwd())

        # Run post install hooks for freshly installed plugins.
        # It is necessary to delay the execution of these hooks here due to
        # Windows file locking preventing the deletion of files that are in use.
        post_install_queue_path = \
            path(self.config.data['plugins']['directory']) \
            .joinpath('post_install_queue.yml')
        if post_install_queue_path.isfile():
            post_install_queue = yaml.load(post_install_queue_path.bytes())
            post_install_queue = map(path, post_install_queue)

            logger.info('[App] processing post install hooks.')
            for p in post_install_queue:
                try:
                    info = get_plugin_info(p)
                    logger.info("  running post install hook for %s" %
                                info.plugin_name)
                    plugin_manager.post_install(p)
                finally:
                    post_install_queue.remove(p)
            post_install_queue_path.write_bytes(yaml.dump(post_install_queue))

        # Delete paths that were marked during the uninstallation of a plugin.
        # It is necessary to delay the deletion until here due to Windows file
        # locking preventing the deletion of files that are in use.
        deletions_path = path(self.config.data['plugins']['directory'])\
                .joinpath('requested_deletions.yml')
        if deletions_path.isfile():
            requested_deletions = yaml.load(deletions_path.bytes())
            requested_deletions = map(path, requested_deletions)

            logger.info('[App] processing requested deletions.')
            for p in requested_deletions:
                try:
                    if p != p.abspath():
                        logger.info('    (warning) ignoring path %s since it '\
                            'is not absolute' % p)
                        continue
                    if p.isdir():
                        info = get_plugin_info(p)
                        if info:
                            logger.info('  deleting %s' % p)
                            cwd = os.getcwd()
                            os.chdir(p.parent)
                            try:
                                path(p.name).rmtree() #ignore_errors=True)
                            except Exception, why:
                                logger.warning('Error deleting path %s (%s)'\
                                        % (p, why))
                                raise
                            os.chdir(cwd)
                            requested_deletions.remove(p)
                    else: # if the directory doesn't exist, remove it from the
                          # list
                        requested_deletions.remove(p)
                except (AssertionError,):
                    logger.info('  NOT deleting %s' % (p))
                    continue