X-Git-Url: https://jfr.im/git/irc/quakenet/qwebirc.git/blobdiff_plain/348574eea8f66fb7a46aaa0cc840123dbf4c24f3..fb28e394a2670944ee36f7c386cbc884d9207daa:/bin/pagegen.py diff --git a/bin/pagegen.py b/bin/pagegen.py index 140fc91..7423a2b 100755 --- a/bin/pagegen.py +++ b/bin/pagegen.py @@ -1,4 +1,4 @@ -import os, sys, pages, subprocess, re, optionsgen +import os, sys, pages, subprocess, re, optionsgen, config class HGException(Exception): pass @@ -6,28 +6,33 @@ class HGException(Exception): 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"]]] + x = [pages.JS_DEBUG_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] + x = [pages.JS_RAW_BASE, name] hgid = "-" + gethgid() - return list("js/%s%s.js" % (y, hgid) for y in pages.flatten(x)) + return list(y if y.startswith("//") else "js/%s%s.js" % (y, hgid) for y in pages.flatten(x)) def csslist(name, debug, gen=False): + ui = pages.UIs[name] + nocss = ui.get("nocss") if not debug: 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])) + css = pages.flatten([ui.get("extracss", []), "colours", "dialogs"]) + if not nocss: + css = list(css) + [name] + return list("css/%s%s.css" % ("debug/" if gen else "", x) for x in css) def _gethgid(): try: - p = subprocess.Popen(["hg", "id"], stdout=subprocess.PIPE) + p = subprocess.Popen(["hg", "id"], stdout=subprocess.PIPE, shell=os.name == "nt") except Exception, e: if hasattr(e, "errno") and e.errno == 2: raise HGException, "unable to execute" - + raise HGException, "unknown exception running hg: %s" % repr(e) + data = p.communicate()[0] if p.wait() != 0: raise HGException, "unable to get id" @@ -48,8 +53,11 @@ def producehtml(name, debug): ui = pages.UIs[name] js = jslist(name, debug) css = csslist(name, debug, gen=True) - csshtml = "\n".join(" " % x for x in css) - jshtml = "\n".join(" " % x for x in js) + csshtml = "\n".join(" " % (config.STATIC_BASE_URL, x) for x in css) + jshtml = "\n".join(" " % ("" if x.startswith("//") else config.STATIC_BASE_URL, x) for x in js) + + if hasattr(config, "ANALYTICS_HTML"): + jshtml+="\n" + config.ANALYTICS_HTML div = ui.get("div", "") customjs = ui.get("customjs", "") @@ -57,10 +65,12 @@ def producehtml(name, debug): return """%s
-