Add config parsing
This commit is contained in:
parent
5b09427f2f
commit
64f8b98acd
3 changed files with 26 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -2,6 +2,7 @@
|
|||
media/
|
||||
**.sqlite
|
||||
database/
|
||||
site.conf
|
||||
|
||||
# automatically generated garbage
|
||||
**/__pycache__/
|
||||
|
|
|
|||
27
app.py
27
app.py
|
|
@ -43,10 +43,32 @@ REDIRECT_RE = r'\{\{\s*redirect\s*:\s*(\d+)\s*\}\}'
|
|||
|
||||
upload_types = {'jpeg': 1, 'jpg': 1, 'png': 2}
|
||||
upload_types_rev = {1: 'jpg', 2: 'png'}
|
||||
UPLOAD_DIR = APP_BASE_DIR + '/media'
|
||||
|
||||
UPLOAD_DIR = APP_BASE_DIR + '/media'
|
||||
DATABASE_DIR = APP_BASE_DIR + "/database"
|
||||
|
||||
#### GENERAL CONFIG ####
|
||||
|
||||
DEFAULT_CONF = {
|
||||
('site', 'title'): 'Salvi',
|
||||
('config', 'media_dir'): APP_BASE_DIR + '/media',
|
||||
('config', 'database_dir'): APP_BASE_DIR + "/database",
|
||||
}
|
||||
|
||||
_cfp = ConfigParser()
|
||||
if _cfp.read([APP_BASE_DIR + '/site.conf']):
|
||||
@lru_cache(maxsize=50)
|
||||
def _getconf(k1, k2, fallback=None):
|
||||
if fallback is None:
|
||||
fallback = DEFAULT_CONF.get((k1, k2))
|
||||
v = _cfp.get(k1, k2, fallback=fallback)
|
||||
return v
|
||||
else:
|
||||
def _getconf(k1, k2, fallback=None):
|
||||
if fallback is None:
|
||||
fallback = DEFAULT_CONF.get((k1, k2))
|
||||
return fallback
|
||||
|
||||
#### misc. helpers ####
|
||||
|
||||
def _makelist(l):
|
||||
|
|
@ -61,7 +83,7 @@ def _makelist(l):
|
|||
|
||||
#### DATABASE SCHEMA ####
|
||||
|
||||
database = SqliteDatabase(DATABASE_DIR + '/data.sqlite')
|
||||
database = SqliteDatabase(_getconf("config", "database_dir") + '/data.sqlite')
|
||||
|
||||
class BaseModel(Model):
|
||||
class Meta:
|
||||
|
|
@ -484,6 +506,7 @@ def _before_request():
|
|||
def _inject_variables():
|
||||
return {
|
||||
'T': partial(get_string, g.lang),
|
||||
'app_name': _getconf('site', 'title')
|
||||
}
|
||||
|
||||
@app.route('/')
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
{% set app_name = 'Salvi' %}
|
||||
<title>{% block title %}{{ app_name }}{% endblock %}</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue