X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Flists.py;h=320184e3934d19f6253bc713fe06da0e8f84cda0;hb=3f76f67b9d9bf590e2b3d0aac5d015b8d52a6149;hp=a8d3cedbe03853ee5a061e200a64d25856c48935;hpb=3fc20f7b955dac60069640cdd0e25b9e69b8756f;p=dak.git diff --git a/daklib/lists.py b/daklib/lists.py index a8d3cedb..320184e3 100755 --- a/daklib/lists.py +++ b/daklib/lists.py @@ -56,6 +56,22 @@ def getSources(suite, component, session, timestamp = None): 'component': component.component_id } return fetch(query, args, session) +def getArchAll(suite, component, architecture, type, session, timestamp = None): + ''' + Calculates all binaries in suite and component of architecture 'all' (and + only 'all') and type 'deb' or 'udeb' optionally limited to binaries newer + than timestamp. Returns a generator that yields a tuple of binary id and + full pathname to the u(deb) file. See function writeAllList() in + dak/generate_filelist.py for an example that uses this function. + ''' + query = suite.clone(session).binaries. \ + filter_by(architecture = architecture, binarytype = type) + if timestamp is not None: + extra_cond = 'extract(epoch from bin_associations.created) > %d' % timestamp + query = query.filter(extra_cond) + for binary in query: + yield (binary.binary_id, binary.poolfile.fullpath) + def getBinaries(suite, component, architecture, type, session, timestamp = None): ''' Calculates the binaries in suite and component of architecture and