]>
jfr.im git - irc/quakenet/qwebirc.git/blob - bin/mkstatic.py
2 import compile, pages
, sys
, os
, shutil
, compileall
6 os
.mkdir(os
.path
.join(*dir))
10 def copywalk(src
, dest
, visitor
):
11 for root
, dirs
, files
in os
.walk(src
):
15 newdir
= os
.path
.join(dest
, root
)
16 if not os
.path
.exists(newdir
):
22 destfile
= os
.path
.join(dest
, root
, file)
23 dir, _
= os
.path
.split(destfile
)
24 if not os
.path
.exists(dir):
26 shutil
.copy2(os
.path
.join(root
, file), destfile
)
28 def copypydir(src
, dest
):
29 copywalk(src
, dest
, lambda file: os
.path
.splitext(file)[1] == ".py")
31 def copypycdir(src
, dest
):
32 copywalk(src
, dest
, lambda file: os
.path
.splitext(file)[1] == ".py")
34 def copydir(src
, dest
):
35 copywalk(src
, dest
, lambda file: os
.path
.splitext(file)[1] != ".pyc")
37 def copy(src
, dest
, nojoin
=0):
39 dest
= os
.path
.join(dest
, src
)
40 shutil
.copy2(src
, dest
)
42 def compile_python(dest
):
43 compileall
.compile_dir(dest
, quiet
=1, force
=1)
45 def remove_python(dest
, ignore
=[]):
47 for root
, dirs
, files
in os
.walk(dest
):
51 if os
.path
.splitext(file)[1] == ".py":
52 rfile
= os
.path
.join(root
, file)
57 print >>sys
.stderr
, "syntax: %s [destination directory]" % sys
.argv
[0]
62 trymkdir(DEST
, "static")
63 trymkdir(DEST
, "static", "js")
65 compile.main(DEST
, produce_debug
=False)
67 for x
in "authgate qwebirc simplejson twisted".split(" "):
69 for x
in "images panes sound".split(" "):
70 copydir(os
.path
.join("static", x
), DEST
)
71 for x
in pages
.JS_EXTRA
:
72 copy(os
.path
.join("static", "js", x
+ ".js"), DEST
)
74 for x
in pages
.UIs
.values():
79 file = os
.path
.join("static", "js", "%s.js" % x2
)
80 destfile
= os
.path
.join(DEST
, file)
81 dir, _
= os
.path
.split(destfile
)
82 if not os
.path
.exists(dir):
86 copy(os
.path
.join("static/favicon.ico"), DEST
)
92 copy(os
.path
.join("bin", "cleanpyc.py"), os
.path
.join(DEST
, "cleanpyc.py"), nojoin
=1)
95 copy("config.py.example", DEST
)
97 if os
.path
.exists("config.py"):
98 print "NOT copying current config.py!"
99 #copy("config.py", DEST)
101 if __name__
== "__main__":