summaryrefslogtreecommitdiffstats
path: root/minify_web_js.py
diff options
context:
space:
mode:
authorCalum Lind <calumlind+deluge@gmail.com>2015-08-14 00:03:16 +0100
committerCalum Lind <calumlind+deluge@gmail.com>2015-08-14 00:17:48 +0100
commit6020809462def7a3d552fdc3fa04a9f44b946c55 (patch)
tree389611fec6a54c36220f75a2e743742e47193bf1 /minify_web_js.py
parent4196912966bef8107375eb42bf5a29a04e7accfd (diff)
downloaddeluge-6020809462def7a3d552fdc3fa04a9f44b946c55.tar.gz
deluge-6020809462def7a3d552fdc3fa04a9f44b946c55.tar.bz2
deluge-6020809462def7a3d552fdc3fa04a9f44b946c55.zip
Minor cleanup of minify js script
Diffstat (limited to 'minify_web_js.py')
-rwxr-xr-xminify_web_js.py58
1 files changed, 30 insertions, 28 deletions
diff --git a/minify_web_js.py b/minify_web_js.py
index c234d495a..61a29f07a 100755
--- a/minify_web_js.py
+++ b/minify_web_js.py
@@ -9,6 +9,12 @@
# See LICENSE for more details.
#
+"""Minifies the Webui JS files.
+
+Usage: python minify_web_js.py deluge/ui/web/js/deluge-all
+
+"""
+
import fileinput
import fnmatch
import os
@@ -16,57 +22,53 @@ import sys
from slimit import minify
-"""Minifies the Webui JS files
-
-Usage: python minify_web_js.py deluge/ui/web/js/deluge-all
-"""
-
if len(sys.argv) != 2:
- print 'Specify a source js directory... e.g. deluge/ui/web/js/deluge-all'
+ print 'Specify a source js directory, e.g. deluge/ui/web/js/deluge-all'
sys.exit(1)
SOURCE_DIR = os.path.abspath(sys.argv[1])
BUILD_NAME = os.path.basename(SOURCE_DIR)
BUILD_DIR = os.path.dirname(SOURCE_DIR)
SRC_FILE_LIST = []
+
for root, dirnames, filenames in os.walk(SOURCE_DIR):
dirnames.sort(reverse=True)
- files = fnmatch.filter(filenames, "*.js")
- files.sort()
+ filenames_js = fnmatch.filter(filenames, '*.js')
+ filenames_js.sort()
order_file = os.path.join(root, '.order')
if os.path.isfile(order_file):
- with open(order_file, 'r') as f:
- for line in f:
+ with open(order_file, 'r') as _file:
+ for line in _file:
line = line.strip()
if not line or line[0] == '#':
continue
- pos, filename = line.split()
- files.pop(files.index(filename))
- if pos == '+':
- files.insert(0, filename)
+ order_pos, order_filename = line.split()
+ filenames_js.pop(filenames_js.index(order_filename))
+ if order_pos == '+':
+ filenames_js.insert(0, order_filename)
- if not dirnames:
- for fnames_ordered in reversed(files):
- SRC_FILE_LIST.insert(0, os.path.join(root, fnames_ordered))
+ # Ensure root directory files are bottom of list.
+ if dirnames:
+ for filename in filenames_js:
+ SRC_FILE_LIST.append(os.path.join(root, filename))
else:
- for fnames_ordered in files:
- SRC_FILE_LIST.append(os.path.join(root, fnames_ordered))
+ for filename in reversed(filenames_js):
+ SRC_FILE_LIST.insert(0, os.path.join(root, filename))
if not SRC_FILE_LIST:
print 'No js files found'
sys.exit(1)
-print 'Minifying %s' % BUILD_NAME
+print 'Minifying %s ...' % BUILD_NAME
-# generate the single file, unminified version
-file_dbg_js = os.path.join(BUILD_DIR, BUILD_NAME + '-debug.js')
-with open(file_dbg_js, 'w') as _file:
+# Create the unminified debug file.
+file_debug_js = os.path.join(BUILD_DIR, BUILD_NAME + '-debug.js')
+with open(file_debug_js, 'w') as _file:
input_lines = fileinput.input(SRC_FILE_LIST)
_file.writelines(input_lines)
-# generate the minified version
-fileout_js = os.path.join(BUILD_DIR, BUILD_NAME + '.js')
-with open(fileout_js, 'w') as out_file:
- with open(file_dbg_js, 'r') as in_file:
- out_file.write(minify(in_file.read()))
+file_minified_js = os.path.join(BUILD_DIR, BUILD_NAME + '.js')
+with open(file_minified_js, 'w') as file_out:
+ with open(file_debug_js, 'r') as file_in:
+ file_out.write(minify(file_in.read()))