]>
jfr.im git - irc/quakenet/qwebirc.git/blob - bin/compile.py
2 import pages
, os
, subprocess
, pagegen
, shutil
4 COPYRIGHT
= open("js/copyright.js", "rb").read()
7 return subprocess
.Popen(["java", "-jar", "bin/yuicompressor-2.3.5.jar", src
], stdout
=subprocess
.PIPE
).communicate()[0]
9 def jmerge_files(prefix
, suffix
, output
, files
, *args
):
11 output
= output
+ "." + suffix
12 o
= os
.path
.join(prefix
, "compiled", output
)
13 merge_files(o
, files
, *args
)
16 f
= open(os
.path
.join(prefix
, "static", suffix
, output
), "wb")
21 def merge_files(output
, files
, root_path
=lambda x
: x
):
22 f
= open(output
, "wb")
25 f2
= open(root_path(x
), "rb")
30 def main(outputdir
=".", produce_debug
=True):
31 ID
= pagegen
.gethgid()
33 pagegen
.main(outputdir
, produce_debug
=produce_debug
)
35 coutputdir
= os
.path
.join(outputdir
, "compiled")
42 os
.mkdir(os
.path
.join(outputdir
, "static", "css"))
46 #jmerge_files(outputdir, "js", "qwebirc", pages.DEBUG_BASE, lambda x: os.path.join("js", x + ".js"))
48 for uiname
, value
in pages
.UIs
.items():
49 csssrc
= pagegen
.csslist(uiname
, True)
50 jmerge_files(outputdir
, "css", uiname
+ "-" + ID
, csssrc
)
51 shutil
.copy2(os
.path
.join(outputdir
, "static", "css", uiname
+ "-" + ID
+ ".css"), os
.path
.join(outputdir
, "static", "css", uiname
+ ".css"))
52 #jmerge_files(outputdir, "js", uiname, value["uifiles"], lambda x: os.path.join("js", "ui", "frontends", x + ".js"))
55 for y
in pages
.JS_BASE
:
56 alljs
.append(os
.path
.join("static", "js", y
+ ".js"))
57 for y
in value
.get("buildextra", []):
58 alljs
.append(os
.path
.join("static", "js", "%s.js" % y
))
59 for y
in pages
.DEBUG_BASE
:
60 alljs
.append(os
.path
.join("js", y
+ ".js"))
61 for y
in value
["uifiles"]:
62 alljs
.append(os
.path
.join("js", "ui", "frontends", y
+ ".js"))
63 jmerge_files(outputdir
, "js", uiname
+ "-" + ID
, alljs
)
67 if __name__
== "__main__":