czytac logow ekg, koncepcja

Regulamin działu
Kolorowanie składni :
[c][/c], [vb][/vb], [asm][/asm], [delphi][/delphi], [pascal[/pascal], [python][/python], [perl][/perl], [ruby][/ruby], [bash][/bash]

czytac logow ekg, koncepcja

Postprzez nukedclx 7 sie 2009, o 17:03

jako ze w ekg niema narzedzia do czytania logow procz parsowania oczami w edytorze tekstowym napisalem takie cos

Kod: Zaznacz cały
  1.  
  2. # czytacz logow ekg
  3. # nukedclx [at] gmail.com
  4. # #devilteam @ irc.myg0t.com
  5. #
  6. # log_path musi byc ustawiony, i log na 2 (dir)
  7. #
  8.  
  9. timeformat = '%d.%m %Y, %H:%M:%S' # format czasu logow (http://docs.python.org/lib/module-time.html)
  10.  
  11. import ekg, os
  12. from time import ctime, localtime, strftime
  13.  
  14. def init():
  15.     ekg.printf("generic", "[rlog] ver 0.1, written by nukedclx")
  16.     return 1
  17. def deinit():
  18.     ekg.printf("generic", "[rlog] disabled!")
  19.  
  20.  
  21. def handle_command_line(target, line):
  22.     found = 0
  23.     if not line.find('readlog'):
  24.         numer = line.split(' ')
  25.         ekg.command("window clear");
  26.         sciezka = '%s/%s' % (ekg.config.log_path, numer[1])
  27.         try:
  28.             fp = open(sciezka, "r")
  29.             found = 1
  30.         except:
  31.             sciezka = '%s/.gg/userlist' % (os.environ['HOME'])
  32.             fp = open(sciezka, "r");
  33.             for l in fp:
  34.                 t = l.split(';')
  35.                 alias = t[3]
  36.                 if alias == numer[1]:
  37.                     fp.close()
  38.                     sciezka = '%s/%s' % (ekg.config.log_path, t[6])
  39.                     try:
  40.                         fp = open(sciezka, "r");
  41.                         numer = t[6]
  42.                         found = 1
  43.                     except:
  44.                         found = 0
  45.                         fp.close()
  46.                     break
  47.         if found == 0:
  48.             ekg.printf("generic", "[rlog] brak logow dla %s" % (numer[1]))
  49.             return 1
  50.         for linia in fp:
  51.             tab = linia.split(',')
  52.                         odbiorca = tab[2]
  53.             odbiorca2 = tab[1]
  54.                         nadawca = ekg.config.uin
  55.             nick = ekg.config.nick
  56.             tmp = localtime( int( tab[3] ) )
  57.             czas = strftime(timeformat, tmp)
  58.             if tab[0]=="chatsend" or tab[0]=="msgsend":
  59.                 if len(tab) > 5:
  60.                     wiad = ''
  61.                     for val in range( 4, len(tab) ):
  62.                         if wiad != '':
  63.                             wiad = wiad + ','
  64.                         wiad = wiad + '%s' % (tab[val])
  65.                         wiad = wiad.strip('"\n')                   
  66.                 else:
  67.                     wiad = tab[4].strip('\n');
  68.                 if nick != '':
  69.                     ekg.printf("generic", "[%s] <%s>: %s" % (czas, nick, wiad))
  70.                 else:
  71.                     ekg.printf("generic", "[%s] <%s>: %s" % (czas, nadawca, wiad))
  72.             elif tab[0]=="chatrecv" or tab[0]=="msgrecv":
  73.                 if len(tab) > 6:
  74.                                         wiad = ''
  75.                                         for val in range( 5, len(tab) ):
  76.                                                 if wiad != '':
  77.                                                         wiad = wiad + ','
  78.                                                 wiad = wiad + '%s' % (tab[val])
  79.                                                 wiad = wiad.strip('"\n')
  80.                                 else:
  81.                     wiad = tab[5].strip('\n');
  82.                 if odbiorca != '':
  83.                     ekg.printf("generic", "[%s] <%s>: %s" % (czas, odbiorca, wiad))
  84.                 else:
  85.                     ekg.printf("generic", "[%s] <%s>: %s" % (czas, odbiorca2, wiad))
  86.         fp.close()
  87.     return 1
  88.  
Obrazek
SILENT HILL CITY - 89.163.148.82:27016 [hybrid cs1.6]
#cs @ irc.abuser.pl

Avatar użytkownika
nukedclx
 
Posty: 30
Dołączył(a): 4 sie 2009, o 14:29

Powrót do Perl/Ruby/Python

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 0 gości

cron