summaryrefslogtreecommitdiff
path: root/src/pydrilla
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2021-11-17 17:31:35 +0100
committerWojtek Kosior <koszko@koszko.org>2021-11-17 17:31:35 +0100
commitc6e5d1ece9c9ddf738e4124135f33651c94baa7c (patch)
treea3407dbcfe51ac291ed14ef48e73be7902100428 /src/pydrilla
parentc00ed7f9ef28f6aee946e168a535d7f637fe46ae (diff)
downloadhaketilo-hydrilla-c6e5d1ece9c9ddf738e4124135f33651c94baa7c.tar.gz
haketilo-hydrilla-c6e5d1ece9c9ddf738e4124135f33651c94baa7c.zip
add link to software sources to ease compliance with AGPL
Diffstat (limited to 'src/pydrilla')
-rw-r--r--src/pydrilla/config.json1
-rw-r--r--src/pydrilla/pydrilla.py25
-rw-r--r--src/pydrilla/templates/base.html32
-rw-r--r--src/pydrilla/templates/index.html2
4 files changed, 47 insertions, 13 deletions
diff --git a/src/pydrilla/config.json b/src/pydrilla/config.json
index a6c4bf0..6bb5440 100644
--- a/src/pydrilla/config.json
+++ b/src/pydrilla/config.json
@@ -9,5 +9,6 @@
{
"content_dir": "/var/lib/hydrilla/content",
"static_resource_uri": "http://localhost:8000/",
+ "hydrilla_sources_uri": "https://git.koszko.org/pydrilla/",
"try_configs": ["/etc/pydrilla/config.json"]
}
diff --git a/src/pydrilla/pydrilla.py b/src/pydrilla/pydrilla.py
index 586be19..dc472a4 100644
--- a/src/pydrilla/pydrilla.py
+++ b/src/pydrilla/pydrilla.py
@@ -577,11 +577,12 @@ def create_app(config_path=(here / 'config.json'), flask_config={}):
return app
config = load_config(config_path)
- for key in ['static_resource_uri', 'content_dir']:
+ for key in ['static_resource_uri', 'content_dir', 'hydrilla_sources_uri']:
if key not in config:
raise ValueError(_('config_key_absent_{}').format(key))
- app._pydrilla_static_resource_uri = config['static_resource_uri']
+ app._pydrilla_static_resource_uri = config['static_resource_uri']
+ app._pydrilla_hydrilla_sources_uri = config['hydrilla_sources_uri']
app._pydrilla_werror = config.get('werror', False)
if 'hydrilla_parent' in config:
raise MyNotImplError('hydrilla_parent', config_path.name)
@@ -599,19 +600,14 @@ def create_app(config_path=(here / 'config.json'), flask_config={}):
def _(text_key):
return current_app._pydrilla_gettext(text_key)
-def escaping_gettext(text_key):
- from markupsafe import escape
-
- return str(escape(_(text_key)))
-
def content():
return current_app._pydrilla_content
class MyEnvironment(Environment):
'''
A wrapper class around jinja2.Environment that causes GNU gettext function
- (as '_' and '__') and url_for function to be passed to every call of each
- template's render() method.
+ (as '_' and '__'), url_for function and 'hydrilla_sources_uri' config option
+ to be passed to every call of each template's render() method.
'''
def __init__(self, *args, **kwargs):
@@ -622,10 +618,19 @@ class MyEnvironment(Environment):
old_render = template.render
def new_render(*args, **kwargs):
+ _ = current_app._pydrilla_gettext
+ sources_uri = current_app._pydrilla_hydrilla_sources_uri
+
+ def escaping_gettext(text_key):
+ from markupsafe import escape
+
+ return str(escape(_(text_key)))
+
final_kwargs = {
'_': escaping_gettext,
'__': escaping_gettext,
- 'url_for': url_for
+ 'url_for': url_for,
+ 'hydrilla_sources_uri' : sources_uri
}
final_kwargs.update(kwargs)
diff --git a/src/pydrilla/templates/base.html b/src/pydrilla/templates/base.html
index 6e7887e..7b26b64 100644
--- a/src/pydrilla/templates/base.html
+++ b/src/pydrilla/templates/base.html
@@ -75,6 +75,24 @@ in a proprietary program, I am not going to enforce this in court.
font-size: 1.5em;
padding: 0.5em;
}
+
+ .content {
+ margin: auto;
+ margin-top: 2em;
+ margin-bottom: 2em;
+ max-width: 700px;
+ padding-left: 1em;
+ padding-right: 1em;
+ border-left: 1px #999 solid;
+ border-right: 1px #999 solid;
+ }
+
+ .footer {
+ font-size: 0.8em;
+ padding: 1em;
+ border-top: 1px #777 solid;
+ text-align: center;
+ }
{% endblock %}
</style>
<title>{% block title %}{{ _('hydrilla') }}{% endblock %}</title>
@@ -87,8 +105,18 @@ in a proprietary program, I am not going to enforce this in court.
class="home_link"
{% endcall %}
</div>
- {% block content %}
- {% endblock %}
+
+ <div class="content">
+ {% block content %}
+ {% endblock %}
+ </div>
+
+ <div class="footer">
+ Copyright &copy; Wojtek Kosior.
+ <br>
+ This page was generated by Hydrilla which is free/libre software.
+ You can get a copy <a href="{{ hydrilla_sources_uri|e }}">here</a>.
+ </div>
{% endblock %}
</body>
</html>
diff --git a/src/pydrilla/templates/index.html b/src/pydrilla/templates/index.html
index 5f5b319..2555df0 100644
--- a/src/pydrilla/templates/index.html
+++ b/src/pydrilla/templates/index.html
@@ -24,7 +24,7 @@ in a proprietary program, I am not going to enforce this in court.
#}
{% extends 'base.html' %}
-{% block body %}
+{% block content %}
{{ super() }}
<h2>{{ _('hydrilla_welcome') }}</h2>
{% endblock %}