SVN: toys/stbr/src-builder-status.py

Daniel Mróz beorn w alpha.pl
Sob, 29 Lis 2008, 14:15:25 CET


On Fri, Nov 28, 2008 at 02:52:42PM +0100, shadzik wrote:
> Author: shadzik
> Date: Fri Nov 28 14:52:41 2008
> New Revision: 10008
> 
> Added:
>    toys/stbr/src-builder-status.py   (contents, props changed)
> Log:
> - get spec status from src-builder
[CIAP...diff]
Ałaaa.... Nie lepiej tak:

===============================================================
#!/usr/bin/python

import os
import sys

mailbox = "/var/mail/stbr"
#f_log = "/home/users/stbr/ApHeX/scripts/"
f_log = "./"



def parseMailbox(distver, spec, mailbox):
    builder_l = []
    status_l = []
    results = []

    f = open(mailbox, 'r')
    for line in f.xreadlines():
        if line.startswith('From:'):
            builder_l.append(line.split(' ')[2])
        if line.contains(spec):
            status_l.append(line.split(' ')[2])

    for i in xrange(len(status_l)):
        if builder_l[i].contains('%s-src' % (distver,)):
            results.append(status_l[i])
    f.close()
    return results



try:
    (distver, spec) = sys.argv[1:2]
    results = parseMailbox(distver, spec, mailbox)
except IndexError:
    sys.stderr.write('Usage: %s [ th | ti ] <spec>\n' % (os.basename(__file__),))
    sys.exit(1)
except Exception, e:
    sys.stderr.write('Error: %s\n' % (str(sys.exc_info()[1]),))
    sys.exit(1)

sys.stdout.write('\n'.join(results))
==============================================================

???
Albo wogóle wywalić funkcję parseMailbox(), gdyż jest przez kod
wywoływana tylko raz, więc jej istnienie w takiej postaci mija się z
celem o ile nie planujemy dokładać nowych funkcji i/lub przerzucać tego
później do oddzielnej (wspólnej?) biblioteki/modułu.

P.S. Nie sprawdzałem czy skrypt działa, bo nie mam dostępu do, lub nie
wiem gdzie leży plik logu.


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn w alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]


Więcej informacji o liście dyskusyjnej pld-devel-pl