Ejemplo n.º 1
0
 def on(server):
     if not server.running:
         Log.report('Starting: %s' % server.name)
         try:
             server.start()
         except Exception as e:
             Log.report_error(e.message)
Ejemplo n.º 2
0
 def run(self):
     Event.add_event(obj=SqlServer,
                     method='manage_clean',
                     interval=10,
                     key=SqlServer.KEY,
                     start=True)
     self.__running = True
     try:
         self.__server.bind(('localhost', self.__port))
         self.__server.listen(100)
     except Exception as e:
         Log.report_error(e.message)
         self.__running = False
     while self.__running:
         try:
             response = None
             handler = SqlConnectionHandler(*self.__server.accept())
             key, db, q, args = handler.begin()
             if key == SqlAccess.MANAGE:
                 self.__master.manage(args)
             elif key == SqlAccess.QUERY:
                 response = self.__master.execute(db, q, args)
             handler.complete(response)
         except Exception as e:
             Log.report_error(e.message)
     Event.remove_event(SqlServer.KEY)
     self.__master.manage(SqlMaster.CLEAR)
Ejemplo n.º 3
0
 def run(self):
     Event.add_event(obj=SqlServer,
                     method='manage_clean',
                     interval=10,
                     key=SqlServer.KEY, start=True)
     self.__running = True
     try:
         self.__server.bind(('localhost', self.__port))
         self.__server.listen(100)
     except Exception as e:
         Log.report_error(e.message)
         self.__running = False
     while self.__running:
         try:
             response = None
             handler = SqlConnectionHandler(*self.__server.accept())
             key, db, q, args = handler.begin()
             if key == SqlAccess.MANAGE:
                 self.__master.manage(args)
             elif key == SqlAccess.QUERY:
                 response = self.__master.execute(db, q, args)
             handler.complete(response)
         except Exception as e:
             Log.report_error(e.message)
     Event.remove_event(SqlServer.KEY)
     self.__master.manage(SqlMaster.CLEAR)
Ejemplo n.º 4
0
 def off(server):
     if server.running:
         Log.report('Stopping: %s' % server.name)
         try:
             server.running = False
             server.join(0)
         except Exception as e:
             Log.report_error(e.message)
Ejemplo n.º 5
0
 def execute(self, db, q, args):
     result = None
     try:
         if self.__locate_db(db):
             result = self.__dbs[db].execute(q, args)
     except Exception as e:
         Log.report_error(e.message)
     return result
Ejemplo n.º 6
0
 def execute(self, db, q, args):
     result = None
     try:
         if self.__locate_db(db):
             result = self.__dbs[db].execute(q, args)
     except Exception as e:
         Log.report_error(e.message)
     return result
Ejemplo n.º 7
0
 def get_file(filename, path):
     if path:
         if filename not in get_files(path):
             Log.report_error('No file found %s' % path)
             return None, None
         header, filename = StreamFunction.force_media(filename, path)
     else:
         header, filename = Static.Builder.find_media(filename)
     return header, filename
Ejemplo n.º 8
0
 def process_tmp():
     keys = Event.get_keys()
     to_del = [File(Config.TMP_DIR + item)
               for item in get_files(Config.TMP_DIR) if item not in keys]
     for item in to_del:
         try:
             item.delete()
         except Exception as e:
             Log.report_error(e.message)
Ejemplo n.º 9
0
 def get_file(filename, path):
     if path:
         if filename not in get_files(path):
             Log.report_error('No file found %s' % path)
             return None, None
         header, filename = StreamFunction.force_media(filename, path)
     else:
         header, filename = Static.Builder.find_media(filename)
     return header, filename
Ejemplo n.º 10
0
 def send_manage(self, args=None):
     result = ''
     try:
         self.connect(('localhost', StaticSqlAccess.PORT))
         self.__send_line(SqlAccess.MANAGE)
         self.__send_line(args)
         result = self.__receive_line()
         self.close()
     except Exception as e:
         Log.report_error(e.message)
     return result
Ejemplo n.º 11
0
 def send_manage(self, args=None):
     result = ''
     try:
         self.connect(('localhost', StaticSqlAccess.PORT))
         self.__send_line(SqlAccess.MANAGE)
         self.__send_line(args)
         result = self.__receive_line()
         self.close()
     except Exception as e:
         Log.report_error(e.message)
     return result
Ejemplo n.º 12
0
 def send_query(self, db, q, args=None):
     result = ''
     try:
         self.connect(('localhost', StaticSqlAccess.PORT))
         self.__send_line(SqlAccess.QUERY)
         self.__send_line(db)
         self.__send_line(q)
         self.__send_line(args)
         result = self.__receive_line()
         self.close()
     except Exception as e:
         Log.report_error(e.message)
     return result
Ejemplo n.º 13
0
 def send_query(self, db, q, args=None):
     result = ''
     try:
         self.connect(('localhost', StaticSqlAccess.PORT))
         self.__send_line(SqlAccess.QUERY)
         self.__send_line(db)
         self.__send_line(q)
         self.__send_line(args)
         result = self.__receive_line()
         self.close()
     except Exception as e:
         Log.report_error(e.message)
     return result
Ejemplo n.º 14
0
 def burn(self):
     try:
         self.bind((self.__ip, self.__port))
     except Exception:
         pass
     Log.report('Ghost Update %s:%s' % (self.__ip, self.__port))
     self.listen(500)
     while State.active:
         try:
             conn, address = self.accept()
             account = conn.recv(1024)
             if account and account in Manager.Clients:
                 Event.add_event(obj=Client, method='send_to', key=account, start=True,
                                 onetime=True, args={'account': account, 'data': Manager.Code.PUSH})
         except Exception:
             pass
Ejemplo n.º 15
0
 def burn(self):
     try:
         self.bind((self.__ip, self.__port))
     except Exception as e:
         Log.report_error(e.message)
     Log.report('Ghost Server %s:%s' % (self.__ip, self.__port))
     self.listen(500)
     while State.active:
         try:
             conn, address = self.accept()
             account = conn.recv(1024).replace('\n', '')
             if account != '':
                 client = Client(conn, address, account)
                 Manager.Clients.update({account: client})
                 try:
                     Event.remove_event(account)
                     Event.add_event(obj=Client,
                                     method='send_to',
                                     key=account,
                                     start=True,
                                     interval=Manager.HEARTBEAT,
                                     args={
                                         'account': account,
                                         'data': Manager.Code.HEARTBEAT
                                     })
                 except Exception as e:
                     Log.report_error(e.message)
         except Exception:
             State.active = False
Ejemplo n.º 16
0
 def burn(self):
     try:
         self.bind((self.__ip, self.__port))
     except Exception:
         pass
     Log.report('Ghost Update %s:%s' % (self.__ip, self.__port))
     self.listen(500)
     while State.active:
         try:
             conn, address = self.accept()
             account = conn.recv(1024)
             if account and account in Manager.Clients:
                 Event.add_event(obj=Client,
                                 method='send_to',
                                 key=account,
                                 start=True,
                                 onetime=True,
                                 args={
                                     'account': account,
                                     'data': Manager.Code.PUSH
                                 })
         except Exception:
             pass
Ejemplo n.º 17
0
 def burn(self):
     try:
         self.bind((self.__ip, self.__port))
     except Exception as e:
         Log.report_error(e.message)
     Log.report('Ghost Server %s:%s' % (self.__ip, self.__port))
     self.listen(500)
     while State.active:
         try:
             conn, address = self.accept()
             account = conn.recv(1024).replace('\n', '')
             if account != '':
                 client = Client(conn, address, account)
                 Manager.Clients.update({account: client})
                 try:
                     Event.remove_event(account)
                     Event.add_event(obj=Client, method='send_to',
                                     key=account, start=True, interval=Manager.HEARTBEAT,
                                     args={'account': account, 'data': Manager.Code.HEARTBEAT})
                 except Exception as e:
                     Log.report_error(e.message)
         except Exception:
             State.active = False
Ejemplo n.º 18
0
 def __callback_pre(self):
     Log.set_writer(self.get_writer())
Ejemplo n.º 19
0
 def handle_error(self, request, address):
     Log.report_socket_error(address=address, traceback=trace()[-1][1:])
Ejemplo n.º 20
0
 def query(self, q=None):
     if q:
         Log.report_info(access_query(self.__db, q))
     else:
         Log.report_error('empty query')
Ejemplo n.º 21
0
 def handle_error(self, request, address):
     Log.report_socket_error(address=address, traceback=trace()[-1][1:])
Ejemplo n.º 22
0
 def __callback_begin(self):
     self.__callback_pre()
     Log.ready()