[Kimchi-devel] [PATCH] [Wok] Bug fix #1109: Specify Content-Type for SVG files
Daniel Henrique Barboza
dhbarboza82 at gmail.com
Tue Apr 4 18:49:30 UTC 2017
Reviewed-by: Daniel Barboza <danielhb at linux.vnet.ibm.com>
On 04/03/2017 07:57 PM, Aline Manera wrote:
> Some systems do not have mimetype specified for SVG files which prevents
> SVG files to be loaded on Wok UI.
>
> Fix that and also set UIConfig for all plugins to share the same
> configuration.
>
> Signed-off-by: Aline Manera <alinefm at linux.vnet.ibm.com>
> ---
> src/wok/config.py.in | 41 +++++++++++++++++++++++++++--------------
> tests/test_config.py.in | 1 +
> 2 files changed, 28 insertions(+), 14 deletions(-)
>
> diff --git a/src/wok/config.py.in b/src/wok/config.py.in
> index c2bcc28..9fd39d9 100644
> --- a/src/wok/config.py.in
> +++ b/src/wok/config.py.in
> @@ -159,7 +159,7 @@ class PluginPaths(Paths):
> class UIConfig(dict):
> def __init__(self, paths):
> ui_configs = {}
> - for sub_dir in ('css', 'js', 'libs', 'images'):
> + for sub_dir in ('css', 'js', 'images'):
> ui_configs['/' + sub_dir] = {
> 'tools.staticdir.on': True,
> 'tools.staticdir.dir': os.path.join(paths.ui_dir, sub_dir),
> @@ -169,17 +169,10 @@ class UIConfig(dict):
> ui_configs['/' + sub_dir].update({
> 'tools.expires.on': True,
> 'tools.expires.secs': CACHEEXPIRES})
> -
> - for font, files in FONT_FILES.iteritems():
> - font_dir = getattr(paths, "%s_dir" % font)
> - for filename in files:
> - font_file = os.path.join(font_dir, filename)
> - if os.path.exists(font_file):
> - ui_configs['/fonts/%s' % filename] = {
> - 'tools.staticfile.on': True,
> - 'tools.staticfile.filename': font_file,
> - 'tools.wokauth.on': False,
> - 'tools.nocache.on': False}
> + else:
> + ui_configs['/' + sub_dir].update(
> + {'tools.staticdir.content_types':
> + {'svg': 'image/svg+xml'}})
>
> self.update(ui_configs)
>
> @@ -237,8 +230,27 @@ class WokConfig(dict):
> 'tools.staticdir.dir': os.path.join(paths.ui_dir,
> 'pages/help')
> },
> + '/libs': {
> + 'tools.staticdir.on': True,
> + 'tools.staticdir.dir': os.path.join(paths.ui_dir, 'libs'),
> + 'tools.wokauth.on': False,
> + 'tools.nocache.on': False,
> + 'tools.expires.on': True,
> + 'tools.expires.secs': CACHEEXPIRES
> + }
> }
>
> + for font, files in FONT_FILES.iteritems():
> + font_dir = getattr(paths, "%s_dir" % font)
> + for filename in files:
> + font_file = os.path.join(font_dir, filename)
> + if os.path.exists(font_file):
> + wok_config['/fonts/%s' % filename] = {
> + 'tools.staticfile.on': True,
> + 'tools.staticfile.filename': font_file,
> + 'tools.wokauth.on': False,
> + 'tools.nocache.on': False}
> +
> def __init__(self):
> super(WokConfig, self).__init__(self)
> self.update(self.wok_config)
> @@ -248,6 +260,7 @@ class WokConfig(dict):
> class PluginConfig(dict):
> def __init__(self, plugin_name):
> super(PluginConfig, self).__init__(self)
> + paths = PluginPaths(plugin_name)
> plugin_config = {
> '/': {
> 'tools.trailing_slash.on': False,
> @@ -264,10 +277,10 @@ class PluginConfig(dict):
> '/ui/config/tab-ext.xml': {
> 'tools.staticfile.on': True,
> 'tools.staticfile.filename':
> - os.path.join(PluginPaths(plugin_name).ui_dir,
> - 'config/tab-ext.xml'),
> + os.path.join(paths.ui_dir, 'config/tab-ext.xml'),
> 'tools.nocache.on': True}}
> self.update(plugin_config)
> + self.update(UIConfig(paths))
>
>
> def _get_config():
> diff --git a/tests/test_config.py.in b/tests/test_config.py.in
> index a4d65bb..31dd1b8 100644
> --- a/tests/test_config.py.in
> +++ b/tests/test_config.py.in
> @@ -147,6 +147,7 @@ class ConfigTests(unittest.TestCase):
> 'tools.wokauth.on': False,
> 'tools.nocache.on': False,
> 'tools.staticdir.dir': '%s/ui/images' % paths.prefix,
> + 'tools.staticdir.content_types': {'svg': 'image/svg+xml'},
> 'tools.staticdir.on': True
> },
> '/fonts/fontawesome-webfont.ttf': {
More information about the Kimchi-devel
mailing list