Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
 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__()
Exemplo n.º 5
0
 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()
Exemplo n.º 6
0
    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()
Exemplo n.º 7
0
 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__()
Exemplo n.º 8
0
    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
Exemplo n.º 9
0
    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
Exemplo n.º 10
0
    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
Exemplo n.º 11
0
    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