mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-04-26 18:41:09 +00:00
first attempt at yaml logging
This commit is contained in:
parent
4fb5b6d313
commit
ab4de3b93c
14
britney.py
14
britney.py
@ -186,12 +186,14 @@ import string
|
|||||||
import time
|
import time
|
||||||
import optparse
|
import optparse
|
||||||
import urllib
|
import urllib
|
||||||
|
import yaml
|
||||||
|
|
||||||
import apt_pkg
|
import apt_pkg
|
||||||
|
|
||||||
from functools import reduce, partial
|
from functools import reduce, partial
|
||||||
from itertools import chain, ifilter, product
|
from itertools import chain, ifilter, product
|
||||||
from operator import attrgetter
|
from operator import attrgetter
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# Check if there is a python-search dir for this version of
|
# Check if there is a python-search dir for this version of
|
||||||
@ -1655,6 +1657,18 @@ class Britney(object):
|
|||||||
f.write("</ul></body></html>\n")
|
f.write("</ul></body></html>\n")
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
if hasattr(self.options, 'excuses_yaml_output'):
|
||||||
|
self.__log("> Writing YAML Excuses to %s" % self.options.excuses_yaml_output, type="I")
|
||||||
|
f = open(self.options.excuses_yaml_output, 'w')
|
||||||
|
excuselist = []
|
||||||
|
for e in self.excuses:
|
||||||
|
excuselist.append(e.excusedata())
|
||||||
|
excusesdata = {}
|
||||||
|
excusesdata["sources"] = excuselist
|
||||||
|
excusesdata["generated"] = datetime.utcnow()
|
||||||
|
f.write(yaml.dump(excusesdata, default_flow_style=False, allow_unicode=True))
|
||||||
|
f.close()
|
||||||
|
|
||||||
self.__log("Update Excuses generation completed", type="I")
|
self.__log("Update Excuses generation completed", type="I")
|
||||||
|
|
||||||
# Upgrade run
|
# Upgrade run
|
||||||
|
54
excuse.py
54
excuse.py
@ -151,3 +151,57 @@ class Excuse(object):
|
|||||||
res += "<li>Valid candidate\n"
|
res += "<li>Valid candidate\n"
|
||||||
res = res + "</ul>\n"
|
res = res + "</ul>\n"
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
# TODO merge with html()
|
||||||
|
def text(self):
|
||||||
|
"""Render the excuse in text"""
|
||||||
|
res = []
|
||||||
|
res.append("%s (%s to %s)" % \
|
||||||
|
(self.name, self.ver[0], self.ver[1]))
|
||||||
|
if self.maint:
|
||||||
|
maint = self.maint
|
||||||
|
# ugly hack to work around strange encoding in pyyaml
|
||||||
|
# should go away with pyyaml in python 3
|
||||||
|
try:
|
||||||
|
maint.decode('ascii')
|
||||||
|
except UnicodeDecodeError:
|
||||||
|
maint = unicode(self.maint,'utf-8')
|
||||||
|
res.append("Maintainer: %s" % maint)
|
||||||
|
if self.section and string.find(self.section, "/") > -1:
|
||||||
|
res.append("Section: %s" % (self.section))
|
||||||
|
if self.daysold != None:
|
||||||
|
if self.daysold < self.mindays:
|
||||||
|
res.append(("Too young, only %d of %d days old" %
|
||||||
|
(self.daysold, self.mindays)))
|
||||||
|
else:
|
||||||
|
res.append(("%d days old (needed %d days)" %
|
||||||
|
(self.daysold, self.mindays)))
|
||||||
|
for x in self.htmlline:
|
||||||
|
res.append("" + x + "")
|
||||||
|
lastdep = ""
|
||||||
|
for x in sorted(self.deps, lambda x,y: cmp(x.split('/')[0], y.split('/')[0])):
|
||||||
|
dep = x.split('/')[0]
|
||||||
|
if dep == lastdep: continue
|
||||||
|
lastdep = dep
|
||||||
|
if x in self.invalid_deps:
|
||||||
|
res.append("Depends: %s %s (not considered)" % (self.name, dep))
|
||||||
|
else:
|
||||||
|
res.append("Depends: %s %s" % (self.name, dep))
|
||||||
|
for (n,a) in self.break_deps:
|
||||||
|
if n not in self.deps:
|
||||||
|
res.append("Ignoring %s depends: %s" % (a, n))
|
||||||
|
if self.is_valid:
|
||||||
|
res.append("Valid candidate")
|
||||||
|
return res
|
||||||
|
|
||||||
|
def excusedata(self):
|
||||||
|
"""Render the excuse in as key-value data"""
|
||||||
|
excusedata = {}
|
||||||
|
excusedata["excuses"] = self.text()
|
||||||
|
excusedata["source"] = self.name
|
||||||
|
excusedata["oldversion"] = self.ver[0]
|
||||||
|
excusedata["newversion"] = self.ver[1]
|
||||||
|
excusedata["age"] = self.daysold
|
||||||
|
excusedata["ageneeded"] = self.mindays
|
||||||
|
return excusedata
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user