⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 combiner.py

📁 好东西
💻 PY
字号:
#!/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://alex.dojotoolkit.org/shrinksafe/). Place it under compression_lib/custom_rhino.jar"""import os, sys, shutilfrom compression_lib import AJS_minifyif __name__ == '__main__':    args = sys.argv    if len(args) < 2:        print """Usage is:    python combiner.py [full|gallery|window]Example usage:    python combiner.py fullThe 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']    ajs_analyzer = AJS_minify.AjsAnalyzer()    code_analyzer = AJS_minify.ExternalCodeAnalyzer(files, ajs_analyzer)    composer = AJS_minify.AjsComposer(code_analyzer.findFunctions(), ajs_analyzer)    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;')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -