git-importer/lib/db_revision.py
2022-10-18 12:17:43 +02:00

23 lines
859 B
Python

class DBRevision:
def __init__(self, row):
(self.dbid, self.project, self.package, self.rev, self.unexpanded_srcmd5, self.commit_time, self.userid, self.comment, self.requestid) = row
@classmethod
def fetch_revision(cls, db, project, package, rev):
cur = db.cursor()
cur.execute("SELECT * FROM revisions where project=%s and package=%s and rev=%s", (project, package, rev))
row = cur.fetchone()
cur.close()
return DBRevision(row)
@classmethod
def latest_revision(cls, db, project, package):
cur = db.cursor()
cur.execute("SELECT MAX(rev) FROM revisions where project=%s and package=%s", (project, package))
max = cur.fetchone()[0]
cur.close()
if max:
return DBRevision.fetch_revision(db, project, package, int(max))
return None