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 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() '''
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() """
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()
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()
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 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() '''
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()
# *-* coding:utf-8 *-* from base import Logger logger = Logger() LOG = logger.get_logger()
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')
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()
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()