X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fshow_new.py;h=e95096e8c3276af48a51eb180d92d7f7f2a8f084;hb=c3d74533e0aeb55a418b46f2325e4b2623314fe2;hp=6d357134b23c2f19fd2659cfe35327441fee4069;hpb=95109ebb89d25a20ccb89fd10a857585fb23f8a6;p=dak.git diff --git a/dak/show_new.py b/dak/show_new.py index 6d357134..e95096e8 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"): @@ -174,31 +182,27 @@ def do_pkg(changes_file): new, byhand = determine_new(u.pkg.changes_file, u.pkg.changes, files, 0, 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, session) + 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, session) + for fn in filter(lambda fn: fn.endswith(".deb") or fn.endswith(".udeb"), filestoexamine): + print >> outfile, examine_package.check_deb(distribution, fn, session) - print >> outfile, html_footer() + print >> outfile, html_footer() - outfile.close() + outfile.close() session.close() ################################################################################