示例#1
0
 def __init__(self):
     self.db = DataBase()
     self.logger = Logger(self.db)
     self.monitor = Monitor(self.logger)
     self.loop = asyncio.get_event_loop()
     self.q = asyncio.Queue()
     self.to_stop = False
     self.to_pause = False
     self.loop.add_reader(sys.stdin, self.got_input)
示例#2
0
    def load():

        configer = Configer('../config.ini')

        log_info = configer.get_configer('LOG', 'info')
        log_path = configer.get_configer('LOG', 'path')
        log_format = '%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s - %(message)s'

        logger = Logger(info=log_info, path=log_path, format=log_format)
        LOG = logger.get_logger()
        '''	
示例#3
0
    def load():

        configer = Configer("../config.ini")

        log_info = configer.get_configer("LOG", "info")
        log_path = configer.get_configer("LOG", "path")
        log_format = "%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s - %(message)s"

        logger = Logger(info=log_info, path=log_path, format=log_format)
        LOG = logger.get_logger()
        """	
示例#4
0
	def load():

		configer = Configer('../config.ini')

		log_info = configer.get_configer('LOG','info')
		log_path = configer.get_configer('LOG','path')
		log_format = '%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s - %(message)s'

		logger = Logger(info = log_info,path = log_path,format = log_format)
		LOG = logger.get_logger()

		doit = Doit()
示例#5
0
文件: loader.py 项目: XDF-server/doit
	def load():

		configer = Configer('../config.ini')

		log_info = configer.get_configer('LOG','info')
		log_path = configer.get_configer('LOG','path')

		log_format = '%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s - %(message)s'

		logger = Logger(info = log_info,path = log_path,format = log_format)
		LOG = logger.get_logger()

		router = Router(1,'InterThread')
		router.start()
示例#6
0
    def __init__(self, port=DEFAULT_TRACKER_PORT):
        self.peers = []
        self.current_port = FIRST_PORT
        self.logger = Logger()

        self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.server.bind((SOCKET_LISTENER_IP, port))
        self.server.listen(5)
        self.running = True
        self.logger.log(u'Tracker aberto na porta {0}'.format(port))
        self.logger.add_level()
示例#7
0
	def load():

		configer = Configer('../config.ini')

		log_info = configer.get_configer('LOG','info')
		log_path = configer.get_configer('LOG','path')
		log_format = '%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(funcName)s - %(message)s'

		logger = Logger(info = log_info,path = log_path,format = log_format)
		LOG = logger.get_logger()
		'''	
		from mongo import Mongo

		mongo = Mongo()

		mongo.connect('resource')
		'''
		from mysql import Mysql

		mysql = Mysql()

		mysql.connect_master()
		'''
示例#8
0
    def __init__(self, tracker_ip='127.0.0.1', tracker_port=DEFAULT_TRACKER_PORT):
        self.this = None
        self.next = None
        self.tracker_ip = tracker_ip
        self.tracker_port = tracker_port
        self.logger = Logger()

        with Client((self.tracker_ip, self.tracker_port), name=u'Tracker', logger=self.logger) as client:
            client.send(json.dumps({u'op': u'add'}))
            self.this, self.next = json.loads(client.recv(1024))
                
        self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.server.bind((SOCKET_LISTENER_IP, self.this[1]))
        self.server.listen(5)
        
        self.listeners = {
            u'close': self.receive_close,
            u'next': self.receive_next,
        }

        self.running = True
        self.logger.log(u'Servidor do Peer aberto em {0}'.format(pretty_address((socket.gethostbyname(socket.gethostname()), self.this[1]))))
        self.logger.add_level()
示例#9
0
# *-* coding:utf-8 *-*

from base import Logger

logger = Logger()
LOG = logger.get_logger()


示例#10
0
class TimeMonitor:
    def __init__(self):
        self.db = DataBase()
        self.logger = Logger(self.db)
        self.monitor = Monitor(self.logger)
        self.loop = asyncio.get_event_loop()
        self.q = asyncio.Queue()
        self.to_stop = False
        self.to_pause = False
        self.loop.add_reader(sys.stdin, self.got_input)

    def run(self):
        try:
            tasks = [self.sniff(), self.operation()]
            self.loop.run_until_complete(asyncio.wait(tasks))
        except KeyboardInterrupt:
            print('timeMonitor is shutting down')
            self.db.c.close()
            self.db.conn.close()
            sys.exit()

    def got_input(self):
        data = sys.stdin.readline()
        asyncio.ensure_future(self.q.put(data))

    async def sniff(self):
        print('timeMonitor is running!!!')
        while not self.to_stop:
            if self.to_pause:
                await asyncio.sleep(30)
                continue
            self.monitor.run()
            await asyncio.sleep(30)

    async def operation(self):
        while True:
            _input = await self.q.get()
            _input = _input.rstrip()
            if _input == 'p':
                print('timeMonitor is pausing')
                self.to_pause = True
            elif _input == 'r':
                print('timeMonitor is resuming!')
                self.to_pause = False
            elif _input == 'q':
                print('timeMonitor is shutting down')
                self.to_stop = True
                self.db.c.close()
                self.db.conn.close()
                sys.exit()
            elif _input == 'e':
                self.edit_cats()
            else:
                self.query(_input)

    def query(self, date):
        if date.isdigit:
            if len(date) == 8:
                self.db.query_day(date)
            elif len(date) == 6:
                self.db.query_month(date)
            elif len(date) == 4:
                self.db.query_year(date)
            else:
                print('Please use format like 20190302 or 201903 or 2019')
        else:
            print('query input should be digit')

    def edit_cats(self):
        tag_dic = {
            '1': "Productive",
            '2': 'Neutral',
            '3': 'Distracting',
            '4': 'Uncategorized'
        }
        _input = input('Press 1 to edit uncategorized apps/webs\n'
                       'Press 2 to edit categorized apps/webs\n'
                       'or press anything you want to quit\n')
        if _input == '1':
            _name, _tag_num = self.db.list_all_uncats()
        elif _input == '2':
            _name, _tag_num = self.db.fuzzy_search()
        else:
            print('Quit edit')
            return
        if _name and _tag_num:
            self.logger.update_cats(_name, tag_dic[_tag_num])
            self.db.update_tag(_name, tag_dic[_tag_num])
            print('{} has been categorized as: {}'.format(
                _name, self.logger.cats[_name]))
        else:
            print('Quit edit')
示例#11
0
class Tracker(object):

    def __init__(self, port=DEFAULT_TRACKER_PORT):
        self.peers = []
        self.current_port = FIRST_PORT
        self.logger = Logger()

        self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.server.bind((SOCKET_LISTENER_IP, port))
        self.server.listen(5)
        self.running = True
        self.logger.log(u'Tracker aberto na porta {0}'.format(port))
        self.logger.add_level()

    def add_peer(self, client, address):
        peer = (address[0], self.current_port)
        self.current_port += 1

        if self.peers:
            client.send(json.dumps((peer, self.peers[0])))
        else:
            client.send(json.dumps((peer, peer)))
        self.logger.log(u'Peer adicionado: {0}'.format(pretty_address(peer)))

        if len(self.peers) > 0:
            self.logger.log(u'Enviando endereço do peer {0} para o peer {1}'.format(pretty_address(peer), pretty_address(self.peers[-1])))
            self.send_next_address(self.peers[-1], peer)

        self.peers.append(peer)
        self.logger.log(u'{0} peer(s)'.format(len(self.peers)))

    def remove_peer(self, peer):
        self.logger.log(u'Removendo peer: {0}'.format(peer))
        if len(self.peers) > 1:
            index = self.peers.index(peer)
            previous_peer = self.peers[index - 1]
            next_peer = self.peers[(index + 1) % len(self.peers)]
            self.logger.log(u'Enviando endereço do peer {0} para o peer {1}'.format(pretty_address(next_peer), pretty_address(previous_peer)))
            self.send_next_address(previous_peer, next_peer)
            self.peers.pop(index)
        else:
            self.peers = []
        self.logger.log(u'{0} peer(s)'.format(len(self.peers)))

    def send_next_address(self, peer, next):
        client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        client.connect(peer)
        client.send(json.dumps({u'op': u'next', u'next': next}))
        client.close()

    def loop(self):
        while self.running:
            client, address = self.server.accept()
            self.logger.log(u'Peer conectado no endereço {0}'.format(pretty_address(address)))
            msg = json.loads(client.recv(1024))
            if msg[u'op'] == u'add':
                self.add_peer(client, address)
            elif msg[u'op'] == u'remove':
                self.remove_peer(tuple(msg[u'peer']))
            client.close()

    def close(self):
        self.logger.ident = 0
        if CLOSE_PEERS:
            self.logger.log(u'Fechando Peers')
            for peer in self.peers:
                self.logger.log(u'Fechando peer: {0}'.format(pretty_address(peer)))
                client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                client.connect(peer)
                client.send(json.dumps({u'op': u'close'}))
                client.close()
        
        self.logger.log(u'Fechando Tracker')
        self.running = False
        self.server.close()
示例#12
0
class TrackerPeer(object):

    def __init__(self, tracker_ip='127.0.0.1', tracker_port=DEFAULT_TRACKER_PORT):
        self.this = None
        self.next = None
        self.tracker_ip = tracker_ip
        self.tracker_port = tracker_port
        self.logger = Logger()

        with Client((self.tracker_ip, self.tracker_port), name=u'Tracker', logger=self.logger) as client:
            client.send(json.dumps({u'op': u'add'}))
            self.this, self.next = json.loads(client.recv(1024))
                
        self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.server.bind((SOCKET_LISTENER_IP, self.this[1]))
        self.server.listen(5)
        
        self.listeners = {
            u'close': self.receive_close,
            u'next': self.receive_next,
        }

        self.running = True
        self.logger.log(u'Servidor do Peer aberto em {0}'.format(pretty_address((socket.gethostbyname(socket.gethostname()), self.this[1]))))
        self.logger.add_level()

    def send_message_to_tracker(self, message):
        send_message((self.tracker_ip, self.tracker_port), message, name=u'Tracker', logger=self.logger)

    def send_message_to_next(self, message):
        send_message(self.next, message, name=u'Próximo', logger=self.logger)

    def info_print(self):
        self.logger.log(u'Endereço: {0}'.format(pretty_address(self.this)))
        self.logger.log(u'Próximo: {0}'.format(pretty_address(self.next)))

    def receive_close(self, msg):
        if CLOSE_PEERS:
            self.close(notify_tracker=False)

    def receive_next(self, msg):
        self.next = msg[u'next']
        self.logger.log(u'Próximo peer alterado')
        self.info_print()

    def loop(self):
        while self.running:
            client, address = self.server.accept()
            self.logger.log(u'Peer conectado no endereço %s' % pretty_address(address))
            self.logger.add_level()
            msg = json.loads(client.recv(1024))
            self.logger.log(u'Operação "{0}"'.format(msg[u'op']))
            self.listeners[msg[u'op']](msg)
            client.close()
            self.logger.log(u'Peer desconectado')
            self.logger.remove_level()

    def close(self, notify_tracker=True):
        self.logger.ident = 0
        self.logger.log(u'Fechando Peer')
        if notify_tracker:
            self.send_message_to_tracker({
                u'op': u'remove',
                u'peer': self.this
            })
        self.close_extra(notify_tracker)
        self.running = False
        self.server.close()