X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fshow_new.py;h=8405aeef9f0fe2391d9e969169b944db7abf179b;hb=15a944c0f60ff8464b57b9532be660214a3a6bbc;hp=9cb0890199d7210a985f6eee946c9d3d7f3288b7;hpb=64b9b0367c33b94223ea38ce59fb10951ef48594;p=dak.git diff --git a/dak/show_new.py b/dak/show_new.py index 9cb08901..8405aeef 100755 --- a/dak/show_new.py +++ b/dak/show_new.py @@ -162,6 +162,14 @@ def do_pkg(changes_file): origchanges = os.path.abspath(u.pkg.changes_file) files = u.pkg.files changes = u.pkg.changes + htmlname = changes["source"] + "_" + changes["version"] + ".html" + sources.add(htmlname) + + htmlfile = os.path.join(cnf["Show-New::HTMLPath"], htmlname) + if os.path.exists(htmlfile) and \ + os.stat(htmlfile).st_mtime > os.stat(origchanges).st_mtime: + session.close() + return for deb_filename, f in files.items(): if deb_filename.endswith(".udeb") or deb_filename.endswith(".deb"): @@ -172,31 +180,29 @@ def do_pkg(changes_file): u.check_source_against_db(deb_filename, session) u.pkg.changes["suite"] = u.pkg.changes["distribution"] - new = determine_new(u.pkg.changes, files, 0) + new, byhand = determine_new(u.pkg.changes_file, u.pkg.changes, files, 0, dsc=u.pkg.dsc, session=session) - htmlname = changes["source"] + "_" + changes["version"] + ".html" - sources.add(htmlname) - # do not generate html output if that source/version already has one. - if not os.path.exists(os.path.join(cnf["Show-New::HTMLPath"],htmlname)): - outfile = open(os.path.join(cnf["Show-New::HTMLPath"],htmlname),"w") + outfile = open(os.path.join(cnf["Show-New::HTMLPath"],htmlname),"w") + + filestoexamine = [] + for pkg in new.keys(): + for fn in new[pkg]["files"]: + filestoexamine.append(fn) - filestoexamine = [] - for pkg in new.keys(): - for fn in new[pkg]["files"]: - filestoexamine.append(fn) + print >> outfile, html_header(changes["source"], filestoexamine) - print >> outfile, html_header(changes["source"], filestoexamine) + check_valid(new, session) + distribution = changes["distribution"].keys()[0] + print >> outfile, examine_package.display_changes(distribution, changes_file) - check_valid(new) - distribution = changes["distribution"].keys()[0] - print >> outfile, examine_package.display_changes(distribution, changes_file) + for fn in filter(lambda fn: fn.endswith(".dsc"), filestoexamine): + print >> outfile, examine_package.check_dsc(distribution, fn, session) + for fn in filter(lambda fn: fn.endswith(".deb") or fn.endswith(".udeb"), filestoexamine): + print >> outfile, examine_package.check_deb(distribution, fn, session) - for fn in filter(lambda fn: fn.endswith(".dsc"), filestoexamine): - print >> outfile, examine_package.check_dsc(distribution, fn) - for fn in filter(lambda fn: fn.endswith(".deb") or fn.endswith(".udeb"), filestoexamine): - print >> outfile, examine_package.check_deb(distribution, fn) + print >> outfile, html_footer() - print >> outfile, html_footer() + outfile.close() session.close() ################################################################################