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/
|
media/
|
||||||
**.sqlite
|
**.sqlite
|
||||||
database/
|
database/
|
||||||
|
site.conf
|
||||||
|
|
||||||
# automatically generated garbage
|
# automatically generated garbage
|
||||||
**/__pycache__/
|
**/__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 = {'jpeg': 1, 'jpg': 1, 'png': 2}
|
||||||
upload_types_rev = {1: 'jpg', 2: 'png'}
|
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"
|
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 ####
|
#### misc. helpers ####
|
||||||
|
|
||||||
def _makelist(l):
|
def _makelist(l):
|
||||||
|
|
@ -61,7 +83,7 @@ def _makelist(l):
|
||||||
|
|
||||||
#### DATABASE SCHEMA ####
|
#### DATABASE SCHEMA ####
|
||||||
|
|
||||||
database = SqliteDatabase(DATABASE_DIR + '/data.sqlite')
|
database = SqliteDatabase(_getconf("config", "database_dir") + '/data.sqlite')
|
||||||
|
|
||||||
class BaseModel(Model):
|
class BaseModel(Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
@ -484,6 +506,7 @@ def _before_request():
|
||||||
def _inject_variables():
|
def _inject_variables():
|
||||||
return {
|
return {
|
||||||
'T': partial(get_string, g.lang),
|
'T': partial(get_string, g.lang),
|
||||||
|
'app_name': _getconf('site', 'title')
|
||||||
}
|
}
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
{% set app_name = 'Salvi' %}
|
|
||||||
<title>{% block title %}{{ app_name }}{% endblock %}</title>
|
<title>{% block title %}{{ app_name }}{% endblock %}</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue