f.close()
def main(outputdir=".", produce_debug=True):
+ ID = pagegen.gethgid()
+
pagegen.main(outputdir, produce_debug=produce_debug)
coutputdir = os.path.join(outputdir, "compiled")
for uiname, value in pages.UIs.items():
csssrc = pagegen.csslist(uiname, True)
- jmerge_files(outputdir, "css", uiname, csssrc)
+ jmerge_files(outputdir, "css", uiname + "-" + ID, csssrc)
#jmerge_files(outputdir, "js", uiname, value["uifiles"], lambda x: os.path.join("js", "ui", "frontends", x + ".js"))
alljs = []
alljs.append(os.path.join("js", y + ".js"))
for y in value["uifiles"]:
alljs.append(os.path.join("js", "ui", "frontends", y + ".js"))
- jmerge_files(outputdir, "js", uiname, alljs)
+ jmerge_files(outputdir, "js", uiname + "-" + ID, alljs)
os.rmdir(coutputdir)
-import os, sys, pages
+import os, sys, pages, subprocess, re
def jslist(name, debug):
ui = pages.UIs[name]
if debug:
x = [pages.JS_BASE, ui.get("extra", []), pages.DEBUG, ["debug/ui/frontends/%s" % y for y in ui["uifiles"]]]
+ hgid = ""
else:
#x = [pages.JS_BASE, ui.get("buildextra", ui.get("extra", [])), pages.BUILD_BASE, name]
x = [name]
-
- return list("js/%s.js" % y for y in pages.flatten(x))
+ hgid = "-" + gethgid()
+
+ return list("js/%s%s.js" % (y, hgid) for y in pages.flatten(x))
def csslist(name, debug, gen=False):
if not debug:
- return ["css/%s.css" % name]
+ return ["css/%s-%s.css" % (name, gethgid())]
ui = pages.UIs[name]
return list("css/%s%s.css" % ("debug/" if gen else "", x) for x in pages.flatten([ui.get("extracss", []), "colours", "dialogs", "%s" % name]))
+HGID = None
+def gethgid():
+ global HGID
+ if HGID is None:
+ hgid = subprocess.Popen(["hg", "id"], stdout=subprocess.PIPE).communicate()[0]
+ HGID = re.match("^([0-9a-f]+).*", hgid).group(1)
+ return HGID
+
def producehtml(name, debug):
ui = pages.UIs[name]
js = jslist(name, debug)
#!/usr/bin/env python
-import bin.pages as pages, os, bin.cleanpyc as cleanpyc
+import bin.pages as pages, os, bin.cleanpyc as cleanpyc, glob
from bin.cleanpyc import tryunlink
for x in pages.UIs:
+ for y in glob.glob(os.path.join("static", "js", "%s-*.js" % x)):
+ tryunlink(y)
+ for y in glob.glob(os.path.join("static", "css", "%s-*.js" % x)):
+ tryunlink(y)
tryunlink("static", "%s.html" % x)
tryunlink("static", "%sdebug.html" % x)
- tryunlink("static", "js", "%s.js" % x)
if __name__ == "__main__":
tryunlink("static", "js", "qwebirc.js")