Owen Leonard
3b4fd63d11
This patch moves the Greybox library to intranet-tmpl/lib so that it is not duplicated for each set of translated templates. The Greybox library files are called directly only by one include file, greybox.inc, which is modified by this patch. To test, apply the patch and view any page which calls the Greybox library and confirm that modal windows are still generated correctly. For instance, Cataloging -> Cataloging search, click the "Preview MARC" link. Signed-off-by: David Cook <dcook@prosentient.com.au> Works as described. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
134 lines
3.7 KiB
Python
134 lines
3.7 KiB
Python
#!/usr/bin/env python
|
|
"""
|
|
Used to combine the different parts of GreyBox.
|
|
- Python 2.4 required
|
|
- Java 1.4+ required
|
|
- Dojo's JavaScript compressor (http://dojotoolkit.org/docs/compressor_system.html). Place it under compression_lib/custom_rhino.jar
|
|
"""
|
|
import os, sys, shutil
|
|
from compression_lib import AJS_minify
|
|
|
|
|
|
if __name__ == '__main__':
|
|
args = sys.argv
|
|
|
|
if len(args) < 2:
|
|
print """
|
|
Usage is:
|
|
python combiner.py [full|gallery|window]
|
|
Example usage:
|
|
python combiner.py full
|
|
The files will be store in greybox_dist/* depending on the dist. type
|
|
"""
|
|
sys.exit(0)
|
|
|
|
type = args[1]
|
|
output_dir = 'greybox'
|
|
|
|
##
|
|
# Config file list
|
|
#
|
|
js = []
|
|
css = []
|
|
static = []
|
|
|
|
append = lambda l, x: l.append('greybox_source/%s' % x)
|
|
|
|
def appendBase():
|
|
append(js, 'base/base.js')
|
|
append(js, 'auto_deco.js')
|
|
append(css, 'base/base.css')
|
|
append(static, 'base/indicator.gif')
|
|
append(static, 'base/loader_frame.html')
|
|
|
|
def appendSet():
|
|
append(js, 'set/set.js')
|
|
append(css, 'set/set.css')
|
|
append(static, 'set/next.gif')
|
|
append(static, 'set/prev.gif')
|
|
|
|
def appendGallery():
|
|
append(js, 'gallery/gallery.js')
|
|
append(css, 'gallery/gallery.css')
|
|
append(static, 'gallery/g_close.gif')
|
|
|
|
def appendWindow():
|
|
append(js, 'window/window.js')
|
|
append(css, 'window/window.css')
|
|
append(static, 'window/header_bg.gif')
|
|
append(static, 'window/w_close.gif')
|
|
|
|
appendBase()
|
|
|
|
if type == 'full':
|
|
appendGallery()
|
|
appendSet()
|
|
appendWindow()
|
|
elif type == 'gallery':
|
|
appendGallery()
|
|
appendSet()
|
|
elif type == 'window':
|
|
appendWindow()
|
|
else:
|
|
sys.exit('Uknown type')
|
|
|
|
print 'Follwoing styles are used:'
|
|
for style in css:
|
|
print ' %s' % style
|
|
|
|
print 'Follwoing JavaScript is used:'
|
|
for script in js:
|
|
print ' %s' % script
|
|
|
|
##
|
|
# Copy the files
|
|
#
|
|
try:
|
|
shutil.rmtree(output_dir)
|
|
except:
|
|
pass
|
|
os.mkdir(output_dir)
|
|
|
|
def concatFiles(f_list):
|
|
data = []
|
|
for f in f_list:
|
|
data.append(open(f, 'r').read())
|
|
return '\n\n'.join(data)
|
|
|
|
def copyFiles(f_list):
|
|
for f in f_list:
|
|
shutil.copy(f, output_dir)
|
|
|
|
copyFiles(static)
|
|
fp = open('%s/%s' % (output_dir, 'gb_styles.css'), 'w')
|
|
fp.write(concatFiles(css))
|
|
fp.close()
|
|
print 'Compressed styles in %s' % ('greybox/gb_styles.css')
|
|
|
|
##
|
|
# Concat js
|
|
#
|
|
fp = open('%s/%s' % (output_dir, 'gb_scripts_tmp.js'), 'w')
|
|
fp.write(concatFiles(js))
|
|
fp.close()
|
|
|
|
AJS_minify.AJS_SRC = 'greybox_source/base/AJS.js'
|
|
AJS_minify.AJS_MINI_SRC = 'greybox/AJS_tmp.js'
|
|
files = ['greybox/gb_scripts_tmp.js', 'greybox_source/base/AJS_fx.js', 'static_files/help.js']
|
|
code_analyzer = AJS_minify.ExternalCodeAnalyzer(files)
|
|
composer = AJS_minify.AjsComposer(code_analyzer.findFunctions())
|
|
composer.writeToOutput()
|
|
|
|
os.popen('java -jar compression_lib/custom_rhino.jar -c greybox/AJS_tmp.js > greybox/AJS.js')
|
|
os.remove('greybox/AJS_tmp.js')
|
|
os.popen('java -jar compression_lib/custom_rhino.jar -c greybox_source/base/AJS_fx.js > greybox/AJS_fx.js')
|
|
print 'Compressed AJS.js and AJS.js into greybox/'
|
|
|
|
os.popen('java -jar compression_lib/custom_rhino.jar -c greybox/gb_scripts_tmp.js > greybox/gb_scripts.js')
|
|
os.remove('greybox/gb_scripts_tmp.js')
|
|
print 'Compressed JavaScript in %s' % ('greybox/gb_scripts.css')
|
|
|
|
#Append script_loaded
|
|
open('greybox/AJS.js', 'a').write('\nscript_loaded=true;')
|
|
open('greybox/AJS_fx.js', 'a').write('\nscript_loaded=true;')
|
|
open('greybox/gb_scripts.js', 'a').write('\nscript_loaded=true;')
|