src/cm/scripts/compressjs.py
author Simon Descarpentries <sid@sopinspace.com>
Tue, 06 May 2014 13:52:01 +0200
changeset 651 9bbc657f6837
parent 0 40c8f766c9b8
permissions -rwxr-xr-x
Replace DISABLE_TRACKING and TRACKING_HTML by a TRACKING_ID variable in configuration files
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
#!/usr/bin/python
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
import os
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
from time import time
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
import re
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
os.system("rm -rf temp")
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
os.system("mkdir temp")
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
timestamp = int(time())
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
for (prefix, destDir, destFile, containerFile) in [("c_", "../media/js/client/", "c_client-min.js","../../cm/templates/site/text_view_comments.html"),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
                                                   ("f_", "../media/js/client/", "f_client-min.js", "../../cm/templates/site/text_view_frame.html")] :
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
    os.system("rm %s%s"%(destDir, destFile))
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
    os.system("touch %s%s"%(destDir, destFile))
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
    os.system("find ../media/js/client -name \"%s*.js\" > files"%prefix)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
    os.system("find ../media/js/site -name \"%s*.js\" >> files"%prefix)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
    f = open("files")    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
    try:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
        for fname in f :
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
            fullfilename = fname.replace('\n','')
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
            os.system("java -jar ../../cm/scripts/lib/yuicompressor-2.4.2/build/yuicompressor-2.4.2.jar --preserve-semi " + fullfilename + ">>" + destDir + destFile)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
    finally: 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
        f.close()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
    os.system("rm files")
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
    # change reference to js to add datetimestamp int(time())
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
    # to prevent browser caching
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
    print ""
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
    print "setting timestamp %d in %s, commit the file" %(timestamp,containerFile)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
    input = open(containerFile).read()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
    p = re.compile('%s\?(\d*)"'%destFile)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
    new_input = p.sub('%s?%d"' % (destFile,timestamp),input)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
    ff = open(containerFile,'w')
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
    ff.write(new_input)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
    ff.close()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
os.system("rm -rf temp")