__all__.append('sg_compare')
-def sort_changes(changes_files, session):
+def sort_changes(changes_files, session, binaries = None):
"""Sort into source groups, then sort each source group by version,
have source, filename. Finally, sort the source groups by have
note, time of oldest upload of each source upload."""
# Determine oldest time and have note status for each source group
for source in per_source.keys():
q = session.query(DBSource).filter_by(source = source).all()
- per_source[source]["source_in_database"] = len(q)>0
+ per_source[source]["source_in_database"] = binaries and -(len(q)>0) or len(q)>0
source_list = per_source[source]["list"]
first = source_list[0]
oldest = os.stat(first["filename"])[stat.ST_MTIME]
for f in chg.files:
# update the changes_pending_files row
f.queue = destqueue
- utils.move(os.path.join(srcqueue.path, f.filename), destqueue.path, perms=int(destqueue.perms, 8))
+ # Only worry about unprocessed files
+ if not f.processed:
+ utils.move(os.path.join(srcqueue.path, f.filename), destqueue.path, perms=int(destqueue.perms, 8))
utils.move(os.path.join(srcqueue.path, upload.pkg.changes_file), destqueue.path, perms=int(destqueue.perms, 8))
chg.in_queue = destqueue
else:
# Just a normal upload, accept it...
(summary, short_summary) = upload.build_summaries()
- srcqueue = get_policy_queue('new', session)
destqueue = get_policy_queue('newstage', session)
+ srcqueue = get_policy_queue_from_path(upload.pkg.directory, session)
+
+ if not srcqueue:
+ # Assume NEW and hope for the best
+ srcqueue = get_policy_queue('new', session)
+
changes_to_queue(upload, srcqueue, destqueue, session)
__all__.append('new_accept')