1 from daklib.dbconn import *
3 from sqlalchemy import func
5 def newer_version(lowersuite_name, highersuite_name, session):
7 Finds newer versions in lowersuite_name than in highersuite_name. Returns a
8 list of tuples (source, higherversion, lowerversion) where higherversion is
9 the newest version from highersuite_name and lowerversion is the newest
10 version from lowersuite_name.
13 lowersuite = get_suite(lowersuite_name, session)
14 highersuite = get_suite(highersuite_name, session)
16 query = session.query(DBSource.source, func.max(DBSource.version)). \
17 with_parent(highersuite).group_by(DBSource.source)
20 for (source, higherversion) in query:
21 lowerversion = session.query(func.max(DBSource.version)). \
22 filter_by(source = source).filter(DBSource.version > higherversion). \
23 with_parent(lowersuite).group_by(DBSource.source).scalar()
24 if lowerversion is not None:
25 list.append((source, higherversion, lowerversion))