def change_date(self, day): sql = SQL_MSG(self._user.ggnumber) tab = [int(obj) for obj in self._time.split('-')] date = datetime(*tab) msg = None if int(day) > 0: query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where time>=:time order by time asc limit 1;' tab = { 'time': date + timedelta(day), } else: query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where time<=:time order by time asc limit 1;' tab = { 'time': date, } ret = sql.execute(query, tab) obj = ret.fetchone() if obj == None: return False while msg == None: date += timedelta(day) query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where strftime( "%Y-%m-%d", time)=:time order by time asc limit 1;' tab = { 'time': date.strftime("%Y-%m-%d"), } ret = sql.execute(query, tab) msg = ret.fetchone() self._time = date.strftime("%Y-%m-%d") return True
def change_date(self, day): sql = SQL_MSG(self._user.ggnumber) tab = [int(obj) for obj in self._time.split("-")] date = datetime(*tab) msg = None if int(day) > 0: query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where time>=:time order by time asc limit 1;' tab = {"time": date + timedelta(day)} else: query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where time<=:time order by time asc limit 1;' tab = {"time": date} ret = sql.execute(query, tab) obj = ret.fetchone() if obj == None: return False while msg == None: date += timedelta(day) query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where strftime( "%Y-%m-%d", time)=:time order by time asc limit 1;' tab = {"time": date.strftime("%Y-%m-%d")} ret = sql.execute(query, tab) msg = ret.fetchone() self._time = date.strftime("%Y-%m-%d") return True
def fill(self): if self._main != None: self._main.clear() self.refresh() sql = SQL_MSG(self._user.ggnumber) query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where strftime( "%Y-%m-%d", time)=:time order by time asc;' tab = { 'time': self._time, } ret = sql.execute(query, tab) list = ret.fetchall() (maxy, maxx) = self._get_main_size() max = maxx lines = [] for obj in list: if obj['type'] in [ 'chatrecvign', 'msgrecvign', 'chatrecv', 'chatrcv', 'msgrecv', 'msgrcv' ]: text = u"%(showtime)s <%(nick)s> %(msg)s" % { 'showtime': obj['showtime'], 'nick': obj['nick'], 'msg': obj['msg'], } elif obj['type'] in ['chatsend', 'msgsend']: text = u"%(showtime)s <ME> %(msg)s" % { 'showtime': obj['showtime'], 'msg': obj['msg'], } else: text = u"%(showtime)s * %(nick)s - %(status)s: %(descr)s" % { 'showtime': obj['showtime'], 'nick': obj['nick'], 'status': obj['status'], 'descr': obj['descr'], } text = text.replace('\r', '') tmp_lines = text.split('\n') for tmp_line in tmp_lines: tmp_line = tmp_line.strip() while len(tmp_line) > max: lines.append(tmp_line[:max]) tmp_line = tmp_line[max:] lines.append(tmp_line) self._maxlines = len(lines) + 1 self._main = curses.newpad(self._maxlines, 255) loop = -1 for line in lines: try: loop += 1 self._main.addstr(loop, 0, encode_string(line)) except: pass self.update_percent()
def __call__(self): sql = SQL_MSG(self._user.ggnumber) query = 'select DISTINCT strftime( "%Y-%m", time) from msg where strftime( "%Y", time)=:year;' tab = { 'year' : self._year, } ret = sql.execute( query, tab ) self._list = [] for obj in ret.fetchall(): time = obj[0] object = DaysView( self._user, time) self._list.append( MenuObject( time, object ) ) super( MonthsView, self).__call__()
def __call__(self): sql = SQL_MSG(self._user.ggnumber) query = 'select DISTINCT strftime( "%Y", time) from msg;' ret = sql.execute( query ) self._list = [] for obj in ret.fetchall(): year = obj[0] object = MonthsView(self._user, year) self._list.append( MenuObject( year, object ) ) if len( self._list ) > 0: super( YearsView, self).__call__() else: ROText( 1, 0, u'Nie znaleziono żadnych logów.', u'Błąd').run()
def fill(self): if self._main != None: self._main.clear() self.refresh() sql = SQL_MSG(self._user.ggnumber) query = 'select *, strftime( "%H:%M:%S", time) as showtime from msg where strftime( "%Y-%m-%d", time)=:time order by time asc;' tab = {"time": self._time} ret = sql.execute(query, tab) list = ret.fetchall() (maxy, maxx) = self._get_main_size() max = maxx lines = [] for obj in list: if obj["type"] in ["chatrecvign", "msgrecvign", "chatrecv", "chatrcv", "msgrecv", "msgrcv"]: text = u"%(showtime)s <%(nick)s> %(msg)s" % { "showtime": obj["showtime"], "nick": obj["nick"], "msg": obj["msg"], } elif obj["type"] in ["chatsend", "msgsend"]: text = u"%(showtime)s <ME> %(msg)s" % {"showtime": obj["showtime"], "msg": obj["msg"]} else: text = u"%(showtime)s * %(nick)s - %(status)s: %(descr)s" % { "showtime": obj["showtime"], "nick": obj["nick"], "status": obj["status"], "descr": obj["descr"], } text = text.replace("\r", "") tmp_lines = text.split("\n") for tmp_line in tmp_lines: tmp_line = tmp_line.strip() while len(tmp_line) > max: lines.append(tmp_line[:max]) tmp_line = tmp_line[max:] lines.append(tmp_line) self._maxlines = len(lines) + 1 self._main = curses.newpad(self._maxlines, 255) loop = -1 for line in lines: try: loop += 1 self._main.addstr(loop, 0, encode_string(line)) except: pass self.update_percent()
def __call__(self): sql = SQL_MSG(self._user.ggnumber) query = 'select DISTINCT strftime( "%Y-%m-%d", time) as showtime, count(*) from msg where strftime( "%Y-%m", time) = :date group by showtime;' tab = { 'date' : self._time, } ret = sql.execute( query, tab ) self._list = [] for obj in ret.fetchall(): showtime = obj[0] time = obj[1] object = LogView( self._user, showtime) self._list.append( MenuObject( showtime +" ("+ str(obj[1]) +")", object ) ) super( DaysView, self).__call__()
def fill(self): sql = SQL_MSG(self._user.ggnumber) query = 'select nick from msg where not nick="" group by nick;' ret = sql.execute( query) list = ret.fetchall() self._maxlines = 1 new_list = [ ] for obj in list: self._maxlines += 1 + obj[0].count('\n') new_list.append( obj[0] ) loop = -1 self._main = curses.newpad( self._maxlines, 255 ) for obj in new_list: loop += 1 self._main.addstr( loop, 0, encode_string(obj.strip()) ) if loop == -1: return False else: return True
def fill(self): sql = SQL_MSG(self._user.ggnumber) query = 'select nick from msg where not nick="" group by nick;' ret = sql.execute(query) list = ret.fetchall() self._maxlines = 1 new_list = [] for obj in list: self._maxlines += 1 + obj[0].count('\n') new_list.append(obj[0]) loop = -1 self._main = curses.newpad(self._maxlines, 255) for obj in new_list: loop += 1 self._main.addstr(loop, 0, encode_string(obj.strip())) if loop == -1: return False else: return True
def fill(self): sql = SQL_MSG(self._user.ggnumber) query = 'select descr, strftime( "%Y-%m-%d %H:%M:%S", time) showtime from msg where not descr="" group by descr order by time;' ret = sql.execute(query) list = ret.fetchall() self._maxlines = 1 new_list = [] for obj in list: self._maxlines += 1 new_list.append(obj[1] + ' ' + obj[0]) loop = -1 self._main = curses.newpad(self._maxlines, 255) for obj in new_list: loop += 1 self._main.addstr(loop, 0, encode_string(obj.strip())) if loop == -1: return False else: return True
def fill(self): sql = SQL_MSG(self._user.ggnumber) query = 'select descr, strftime( "%Y-%m-%d %H:%M:%S", time) showtime from msg where not descr="" group by descr order by time;' ret = sql.execute( query ) list = ret.fetchall() self._maxlines = 1 new_list = [ ] for obj in list: self._maxlines += 1 new_list.append( obj[1] +' '+ obj[0] ) loop = -1 self._main = curses.newpad( self._maxlines, 255 ) for obj in new_list: loop += 1 self._main.addstr( loop, 0, encode_string(obj.strip()) ) if loop == -1: return False else: return True