src/cm/scripts/compressjs.py
author Simon Descarpentries <sid@sopinspace.com>
Mon, 21 Oct 2013 16:37:07 +0200
changeset 553 bf26fb47a14c
parent 0 40c8f766c9b8
permissions -rwxr-xr-x
To allow scrolling in Safari mobile, we set the content of text_view_comments frame in a jQuery UI layout. So the automated scrolling operations in c_sync.js must be adjustable to the right part to scroll. Also, if a comment have to be shown outside of the current viewport, we scroll the correct part to that viewport and then set the comment top Y offset to juste what it needs to avoid the "Add comment" button after scrolling operation. If not in Safari mobile, we add an offset here to avoid comment to display under the "Add comment" button.
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")