#!/usr/bin/python

from daklib.dbconn import *
from datetime import datetime

session = DBConn().session()
sid = get_suite('unstable', session)

query_maintainer = session.query(Maintainer).filter(Maintainer.name.ilike('%java%'))
maintainer_ids = [ str(m.maintainer_id) for m in query_maintainer ]

#query_src = sid.sources.filter(DBSource.maintainer_id.in_(m_ids)). \
#    order_by(DBSource.modified, DBSource.source)
params = {
    'suite': sid.suite_id,
    'maintainers': ','.join(maintainer_ids),
}
statement = '''
    select * from 
        (select distinct on (s.source) s.source, s.modified, s.maintainer, f.filename from source s
            join files f on f.id = s.file
            where s.id in (select source from src_associations where suite = %(suite)s)
            order by source, modified desc) uniq
	    where maintainer in (%(maintainers)s)
        order by modified, source
''' % params
query_src = session.query('source', 'modified', 'filename').from_statement(statement).params(params)

out = open('autobuild.txt', 'w')
out.write("# last update: %s\n" % datetime.now())
for source, modified, filename in query_src:
    out.write("%s\n" % filename)
out.close()
