feat: add support for multiple theme search paths

This commit is contained in:
s3lph 2023-03-28 20:45:09 +02:00
parent 2f79377c09
commit de110cd397
6 changed files with 27 additions and 9 deletions

View file

@ -93,7 +93,7 @@ build_debian:
- gzip -9n package/debian/matemat/usr/share/doc/matemat/changelog
- cp -r static/ package/debian/matemat/usr/lib/matemat/static/
- cp -r templates/ package/debian/matemat/usr/lib/matemat/templates/
- mkdir -p package/debian/matemat/var/lib/matemat/
- mkdir -p package/debian/matemat/var/lib/matemat/themes/
- cp -r themes/ package/debian/matemat/usr/lib/matemat/themes/
- python3.7 setup.py egg_info install --root=package/debian/matemat/ --prefix=/usr --optimize=1
- cd package/debian

View file

@ -1,5 +1,18 @@
# Matemat Changelog
<!-- BEGIN RELEASE v0.3.3 -->
## Version 0.3.3
Multiple theme search paths
### Changes
<!-- BEGIN CHANGES 0.3.3-->
- Support for multiple theme search paths
<!-- END CHANGES 0.3.3 -->
<!-- END RELEASE v0.3.3 -->
<!-- BEGIN RELEASE v0.3.2 -->
## Version 0.3.2

View file

@ -1,2 +1,2 @@
__version__ = '0.3.2'
__version__ = '0.3.3'

View file

@ -1,6 +1,7 @@
import logging
from typing import Any, Dict, Iterable, Union
import shlex
import sys
import os.path
import bottle
@ -63,11 +64,15 @@ def _init(config: Dict[str, Any]):
@bottle.route('/static/<filename:path>')
def serve_static_files(filename: str):
config = get_config()
themeroot = os.path.abspath(os.path.join(config['themeroot'], config['theme'], 'static'))
staticroot = os.path.abspath(config['staticroot'])
resp = bottle.static_file(filename, root=themeroot)
if resp.status_code == 404:
resp = bottle.static_file(filename, root=staticroot)
roots = []
for themeroot in shlex.split(config['themeroot']):
roots.append(os.path.abspath(os.path.join(themeroot, config['theme'], 'static')))
roots.append(os.path.abspath(config['staticroot']))
resp = None
for root in roots:
resp = bottle.static_file(filename, root=root)
if resp.status_code == 200:
break
return resp

View file

@ -1,5 +1,5 @@
Package: matemat
Version: 0.3.2
Version: 0.3.3
Maintainer: s3lph <1375407-s3lph@users.noreply.gitlab.com>
Section: web
Priority: optional

View file

@ -2,7 +2,7 @@
StaticPath=/usr/lib/matemat/static
TemplatePath=/usr/lib/matemat/templates
ThemePath=/var/lib/matemat/themes
ThemePath=/var/lib/matemat/themes /usr/lib/matemat/themes
LogTarget=stdout