From f3f4f1e991e375327e4651380785c60c8bfd3c1d Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 14 May 2015 17:24:17 +0200 Subject: [PATCH] webui: minimizer python scripts - another round for utf-8 encoding for python3, fixes #2844 --- Makefile.webui | 8 +++-- src/webui/static/app/ext.css | 6 ++-- .../lovcombo/css/Ext.ux.form.LovCombo.css | 4 +-- src/webui/static/lovcombo/css/lovcombo.css | 4 +-- support/css.py | 33 +++++++++++++++++-- 5 files changed, 42 insertions(+), 13 deletions(-) diff --git a/Makefile.webui b/Makefile.webui index a51938cf3..6659b8818 100644 --- a/Makefile.webui +++ b/Makefile.webui @@ -29,9 +29,9 @@ ifneq ($(WEBUI),) TOPDIR=$(dir $(IAM)) include $(TOPDIR)/.config.mk EXTJSPATH = $(ROOTPATH)/extjs -CSS_PY = support/css.py -RUN_JS = vendor/rjsmin-1.0.10/rjsmin.py -RUN_CSS = vendor/rcssmin-1.0.5/rcssmin.py +CSS_PY = PYTHONIOENCODING=utf-8 support/css.py +RUN_JS = PYTHONIOENCODING=utf-8 vendor/rjsmin-1.0.10/rjsmin.py +RUN_CSS = PYTHONIOENCODING=utf-8 vendor/rcssmin-1.0.5/rcssmin.py GZIP = gzip -n ifeq ($(WEBUI),std) @@ -150,6 +150,7 @@ VV = @ endif define GO_JS + $(VV)$(CSS_PY) --in="$^" utf-check $(VV)cat $^ > $@.tmp $(VV)$(RUN_JS) < $@.tmp > $@.tmp2 @stat --printf="%-35n %7s\n" $@.tmp $@.tmp2 @@ -160,6 +161,7 @@ define GO_JS endef define GO_CSS + $(VV)$(CSS_PY) --in="$^" utf-check $(VV)$(CSS_PY) --in="$^" > $@.tmp $(VV)$(RUN_CSS) < $@.tmp > $@.tmp2 @stat --printf="%-35n %7s\n" $@.tmp $@.tmp2 diff --git a/src/webui/static/app/ext.css b/src/webui/static/app/ext.css index 6a8f29a76..e27609434 100644 --- a/src/webui/static/app/ext.css +++ b/src/webui/static/app/ext.css @@ -633,7 +633,7 @@ * * Style sheets for Grid RowActions Plugin * - * @author Ing. Jozef Sakalos + * @author Ing. Jozef Sakáloš * @date 27. March 2008 * @verson $Id: Ext.ux.grid.RowActions.css 140 2008-04-06 01:24:10Z jozo $ * @@ -716,8 +716,8 @@ * * Ext.ux.form.LovCombo CSS File * - * @author Ing.Jozef Sakalos - * @copyright (c) 2008, by Ing. Jozef Sakalos + * @author Ing.Jozef Sakáloš + * @copyright (c) 2008, by Ing. Jozef Sakáloš * @date 5. April 2008 * @version $Id: Ext.ux.form.LovCombo.css 189 2008-04-16 21:01:06Z jozo $ * diff --git a/src/webui/static/lovcombo/css/Ext.ux.form.LovCombo.css b/src/webui/static/lovcombo/css/Ext.ux.form.LovCombo.css index 28699e547..049318e66 100644 --- a/src/webui/static/lovcombo/css/Ext.ux.form.LovCombo.css +++ b/src/webui/static/lovcombo/css/Ext.ux.form.LovCombo.css @@ -2,8 +2,8 @@ * * Ext.ux.form.LovCombo CSS File * - * @author Ing.Jozef Sakalos - * @copyright (c) 2008, by Ing. Jozef Sakalos + * @author Ing.Jozef Sakáloš + * @copyright (c) 2008, by Ing. Jozef Sakáloš * @date 5. April 2008 * @version $Id: Ext.ux.form.LovCombo.css 189 2008-04-16 21:01:06Z jozo $ * diff --git a/src/webui/static/lovcombo/css/lovcombo.css b/src/webui/static/lovcombo/css/lovcombo.css index edb4c2e95..1366c6277 100644 --- a/src/webui/static/lovcombo/css/lovcombo.css +++ b/src/webui/static/lovcombo/css/lovcombo.css @@ -2,8 +2,8 @@ * * Ext.ux.form.LovCombo Example Application CSS File * - * @author Ing.Jozef Sakalos - * @copyright (c) 2008, by Ing. Jozef Sakalos + * @author Ing.Jozef Sakáloš + * @copyright (c) 2008, by Ing. Jozef Sakáloš * @date 16. April 2008 * @version $Id: lovcombo.css 194 2008-04-17 00:16:12Z jozo $ * diff --git a/support/css.py b/support/css.py index 8bbf00d75..7a271066c 100755 --- a/support/css.py +++ b/support/css.py @@ -15,6 +15,12 @@ def error(fmt, *msg): sys.stderr.write(" [ERROR] " + (fmt % msg) + '\n') sys.exit(1) +def utf8open(fn, mode): + if sys.version_info[0] < 3: + return open(fn, mode) + else: + return open(fn, mode, encoding='utf-8') + def umangle(u, f, r): if not u.startswith(f): error('Internal error') @@ -29,7 +35,7 @@ def url(fn): '../docresources':'../docresources', } - f = open(fn, 'rb') + f = utf8open(fn, 'r') if fn[0] != '/': fn = os.path.join(os.environ['PWD'], fn) fn = os.path.normpath(fn) @@ -39,7 +45,7 @@ def url(fn): error('Wrong filename "%s"', fn) bd = os.path.dirname(fn) while 1: - l = f.readline().decode('utf8') + l = f.readline() if not l: break n = l @@ -68,6 +74,21 @@ def url(fn): sys.stdout.write(n) f.close() +def utf_check(fn): + f = utf8open(fn, 'r') + if fn[0] != '/': + fn = os.path.join(os.environ['PWD'], fn) + fn = os.path.normpath(fn) + if VERBOSE: + info('utf-check: %s', fn) + if not fn.startswith(TVHDIR): + error('Wrong filename "%s"', fn) + while 1: + l = f.readline() + if not l: + break + f.close() + fn='' for opt in sys.argv: if opt.startswith('--tvhdir='): @@ -78,4 +99,10 @@ for opt in sys.argv: if not fn: error('Specify input file') for f in fn: - url(f) + try: + if 'utf-check' in sys.argv: + utf_check(f) + else: + url(f) + except: + error('Unable to process file "%s": %s', f, sys.exc_info()) -- 2.47.2