From: Thierry Parmentelat Date: Sat, 15 Dec 2007 13:55:38 +0000 (+0000) Subject: simple summary extractor X-Git-Tag: 4.2-rc2~331 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=2e98cc6a8a364efff153c00532ec322c5ab7fce1;p=build.git simple summary extractor --- diff --git a/summary.py b/summary.py new file mode 100755 index 00000000..7919a925 --- /dev/null +++ b/summary.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# read a full log and tries to extract the interesting stuff + +import sys,re +m_beg=re.compile('.* BEG RPM.*') +m_installing_any=re.compile('\r (Installing:[^\]]*]) ') +m_installing_err=re.compile('\r (Installing:[^\]]*])(..+)') +m_installing_end=re.compile('Installed:.*') +m_installing_doc=re.compile(".*such file or directory for /usr/share/info.*") + +def scan_log (filename): + + try: + if filename=="-": + filename="stdin" + f=sys.stdin + else: + f=open(filename) + echo=False + for line in f.xreadlines(): + if m_beg.match(line): + print line, + elif m_installing_err.match(line): + (installing,error)=m_installing_err.match(line).groups() + print installing + print error + echo=True + elif m_installing_end.match(line): + echo=False + elif m_installing_any.match(line): + if echo: + installing=m_installing_any.match(line).group(1) + print installing + echo=False + else: + if echo: print line, + f.close() + except: + print 'Failed to analyze',filename + +if __name__ == "__main__": + for arg in sys.argv[1:]: + scan_log(arg) diff --git a/vbuild-nightly.sh b/vbuild-nightly.sh index 22d9af88..4a69bc9c 100755 --- a/vbuild-nightly.sh +++ b/vbuild-nightly.sh @@ -34,7 +34,8 @@ DATE=$(date +'%Y.%m.%d') function summary () { from=$1; shift echo "******************** BEG SUMMARY" - tr -d '\r' < $from | egrep 'BEG RPM|not installed|Installing:.*([eE]rror|[wW]arning)' +# tr -d '\r' < $from | egrep 'BEG RPM|not installed|Installing:.*([eE]rror|[wW]arning)' + ./summary.py < $from echo "******************** END SUMMARY" }