Owen Leonard
70e80bb4c8
This patch moves OPAC third-party assets from opac-tmpl/bootstrap/lib to opac-tmpl/lib, eliminating some redundancy and making it simpler to understand where such assets should be found. To test, apply the patch and confirm that there is no longer a lib directory under opac-tmpl/bootstrap. Test various parts of the OPAC to confirm that assets are still loading correctly. Everything should look right and work correctly. The browser's developer console should be free of errors. Signed-off-by: Philip Orr <philip.orr@lmscloud.de> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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;')
|