#!/usr/bin/env python
# Copyright 2007 Kees Cook <kees@ubuntu.com>
# License: GPLv2
import libxml2, urllib, time

# Disable the LP-is-not-XML-sane errors
def noerr(ctx, str):
    pass
libxml2.registerErrorHandler(noerr, None)

# Time now
data = ['%d' % int(time.time())]

xmldoc = libxml2.htmlParseDoc(urllib.urlopen('https://launchpad.net/distros/ubuntu/+bugs').read(), None)

info = dict()
name = 'unknown'
num = 0
for td in xmldoc.xpathEval("//div[contains(@class,'portlet')]/h2[contains(.,'Filters')]/..//table//td"):
    link = td.xpathEval('a')
    if link:
        name = link[0].content.strip()
    else:
        info.setdefault(name,'%d' % int(td.content))

for term in ('Open','Critical','New','Unassigned','All bugs ever reported'):
    if info.has_key(term):
        data.append(info[term])
    else:
        data.append('None')
print ', '.join(data)
