def getPendingCount(lector): """Vrátí počet nevyřízených zadání""" lectures = Lecture.getAll(lector) ids = [ str(lecture.lecture_id) for lecture in lectures ] if len(ids) == 0: return 0 c = query('SELECT COUNT(*) AS cnt FROM assigments WHERE (state = ?) AND lecture_id IN (%s)' % (",".join(ids)) , (Model.STATE_LOCKED,) ) return c.fetchone()["cnt"]
def getSilent(lector): """Vrátí zadání, která nepotřebují vyřídit""" lectures = Lecture.getAll(lector) ids = [ str(lecture.lecture_id) for lecture in lectures ] if len(ids) == 0: raise StopIteration c = query('SELECT * FROM assigments WHERE (NOT state = ?) AND lecture_id IN (%s) ORDER BY state ASC, generated DESC' % (",".join(ids)) , (Model.STATE_LOCKED,) ) for row in c.fetchall(): yield Model(row)
def getPending(lector): """Vrátí nevyřízená zadání""" lectures = Lecture.getAll(lector) ids = [ str(lecture.lecture_id) for lecture in lectures ] if len(ids) == 0: raise StopIteration c = query('SELECT * FROM assigments WHERE (state = ?) AND lecture_id IN (%s) ORDER BY changed ASC' % (",".join(ids)) , (Model.STATE_LOCKED,) ) for row in c.fetchall(): yield Model(row)
def getForLector(lector): """Vrátí zadaná cvičení """ lectures = Lecture.getAll(lector) ids = [ str(lecture.lecture_id) for lecture in lectures ] if len(ids) == 0: raise StopIteration c = query('SELECT * FROM assigments WHERE (NOT state = ?) AND lecture_id IN (%s)' % (",".join(ids)) , (Model.STATE_NEW,) ) for row in c.fetchall(): yield Model(row)