return res
def table_footer():
- return '</table><br/><p>non-NEW uploads are <a href="/deferred/">available</a>, use <tt>dcut reschedule foo.changes X-day</tt> to adjust delays.</p></center><br/>\n'
+ return '</table><br/><p>non-NEW uploads are <a href="/deferred/">available</a>, see the <a href="ftp://ftp-master.debian.org/pub/UploadQueue/README">UploadQueue-README</a> for more information.</p></center><br/>\n'
def table_row(changesname, delay, changed_by, closes):
global row_number
res = '<tr class="%s">'%((row_number%2) and 'odd' or 'even')
res += (3*'<td valign="top">%s</td>')%tuple(map(html_escape,(changesname,delay,changed_by)))
- res += ('<td valign="top">%s</td>' %
+ res += ('<td valign="top">%s</td>' %
''.join(map(lambda close: '<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%s">#%s</a><br>' % (close, close),closes)))
res += '</tr>\n'
row_number+=1
qfn = os.path.join(os.path.dirname(changesfn),afn)
if os.path.islink(lfn):
os.unlink(lfn)
- os.symlink(qfn,lfn)
- os.chmod(qfn, 0644)
+ if os.path.exists(qfn):
+ os.symlink(qfn,lfn)
+ os.chmod(qfn, 0644)
return (delaydays*24*60*60+remainingtime, changesname, delay, uploader, achanges.get('closes').split())
def list_uploads(filelist):
f = sys.stderr
else:
f = sys.stdout
- print >> f, """Usage: dak show-deferred /path/to/DEFERRED
- -h, --help show this help and exit.
- -p, --html-path [path] override output directory.
+ print >> f, """Usage: dak show-deferred
+ -h, --help show this help and exit.
+ -p, --link-path [path] override output directory.
+ -d, --deferred-queue [path] path to the deferred queue
"""
sys.exit(exit_code)
-
+
def init():
global Cnf, Options, Upload, projectB
Cnf = utils.get_conf()
Arguments = [('h',"help","Show-Deferred::Options::Help"),
- ("p","link-path","Show-Deferred::LinkPath","HasArg")]
- for i in ["help"]:
- if not Cnf.has_key("Show-Deferred::Options::LinkPath"):
- Cnf["Show-Deferred::Options::LinkPath"] = "/org/ftp.debian.org/web/deferred/"
- if not Cnf.has_key("Show-Deferred::Options::%s" % (i)):
- Cnf["Show-Deferred::Options::%s" % (i)] = ""
+ ("p","link-path","Show-Deferred::LinkPath","HasArg"),
+ ("d","deferred-queue","Show-Deferred::DeferredQueue","HasArg")]
args = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv)
+ for i in ["help"]:
+ if not Cnf.has_key("Show-Deferred::Options::%s" % (i)):
+ Cnf["Show-Deferred::Options::%s" % (i)] = ""
+ for i,j in [("DeferredQueue","--deferred-queue")]:
+ if not Cnf.has_key("Show-Deferred::%s" % (i)):
+ print >> sys.stderr, """Show-Deferred::%s is mandatory.
+ set via config file or command-line option %s"""%(i,j)
+
Options = Cnf.SubTree("Show-Deferred::Options")
if Options["help"]:
usage()
projectB = Upload.projectB
return args
-args = init()
-if len(args)!=1:
- usage(1)
-
-filelist = []
-for r,d,f in os.walk(args[0]):
- filelist += map (lambda x: os.path.join(r,x),
- filter(lambda x: x.endswith('.changes'), f))
-list_uploads(filelist)
-
-if Cnf.has_key("Show-Deferred::LinkPath"):
- # remove dead links
- for r,d,f in os.walk(Cnf["Show-Deferred::LinkPath"]):
- for af in f:
- af = os.path.join(r,af)
- if not os.path.exists(af):
- print >> sys.stderr, "obsolete",af
- os.unlink(af)
+def main():
+ args = init()
+ if len(args)!=0:
+ usage(1)
+
+ filelist = []
+ for r,d,f in os.walk(Cnf["Show-Deferred::DeferredQueue"]):
+ filelist += map (lambda x: os.path.join(r,x),
+ filter(lambda x: x.endswith('.changes'), f))
+ list_uploads(filelist)
+
+ if Cnf.has_key("Show-Deferred::LinkPath"):
+ # remove dead links
+ for r,d,f in os.walk(Cnf["Show-Deferred::LinkPath"]):
+ for af in f:
+ af = os.path.join(r,af)
+ if not os.path.exists(af):
+ print >> sys.stderr, "obsolete",af
+ os.unlink(af)