summaryrefslogtreecommitdiff
path: root/examples/plnt/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/plnt/utils.py')
-rw-r--r--examples/plnt/utils.py56
1 files changed, 33 insertions, 23 deletions
diff --git a/examples/plnt/utils.py b/examples/plnt/utils.py
index 957c28da..5c6f0d0b 100644
--- a/examples/plnt/utils.py
+++ b/examples/plnt/utils.py
@@ -10,13 +10,16 @@
"""
import re
from os import path
-from jinja2 import Environment, FileSystemLoader
+from jinja2 import Environment
+from jinja2 import FileSystemLoader
from werkzeug._compat import unichr
-from werkzeug.local import Local, LocalManager
+from werkzeug.local import Local
+from werkzeug.local import LocalManager
+from werkzeug.routing import Map
+from werkzeug.routing import Rule
from werkzeug.utils import cached_property
from werkzeug.wrappers import Response
-from werkzeug.routing import Map, Rule
# context locals. these two objects are use by the application to
@@ -29,24 +32,24 @@ local_manager = LocalManager([local])
# proxy objects
-request = local('request')
-application = local('application')
-url_adapter = local('url_adapter')
+request = local("request")
+application = local("application")
+url_adapter = local("url_adapter")
# let's use jinja for templates this time
-template_path = path.join(path.dirname(__file__), 'templates')
+template_path = path.join(path.dirname(__file__), "templates")
jinja_env = Environment(loader=FileSystemLoader(template_path))
# the collected url patterns
-url_map = Map([Rule('/shared/<path:file>', endpoint='shared')])
+url_map = Map([Rule("/shared/<path:file>", endpoint="shared")])
endpoints = {}
-_par_re = re.compile(r'\n{2,}')
-_entity_re = re.compile(r'&([^;]+);')
-_striptags_re = re.compile(r'(<!--.*-->|<[^>]*>)')
+_par_re = re.compile(r"\n{2,}")
+_entity_re = re.compile(r"&([^;]+);")
+_striptags_re = re.compile(r"(<!--.*-->|<[^>]*>)")
try:
from html.entities import name2codepoint
@@ -54,30 +57,32 @@ except ImportError:
from htmlentitydefs import name2codepoint
html_entities = name2codepoint.copy()
-html_entities['apos'] = 39
+html_entities["apos"] = 39
del name2codepoint
def expose(url_rule, endpoint=None, **kwargs):
"""Expose this function to the web layer."""
+
def decorate(f):
e = endpoint or f.__name__
endpoints[e] = f
url_map.add(Rule(url_rule, endpoint=e, **kwargs))
return f
+
return decorate
def render_template(template_name, **context):
"""Render a template into a response."""
tmpl = jinja_env.get_template(template_name)
- context['url_for'] = url_for
- return Response(tmpl.render(context), mimetype='text/html')
+ context["url_for"] = url_for
+ return Response(tmpl.render(context), mimetype="text/html")
def nl2p(s):
"""Add paragraphs to a text."""
- return u'\n'.join(u'<p>%s</p>' % p for p in _par_re.split(s))
+ return u"\n".join(u"<p>%s</p>" % p for p in _par_re.split(s))
def url_for(endpoint, **kw):
@@ -87,22 +92,24 @@ def url_for(endpoint, **kw):
def strip_tags(s):
"""Resolve HTML entities and remove tags from a string."""
+
def handle_match(m):
name = m.group(1)
if name in html_entities:
return unichr(html_entities[name])
- if name[:2] in ('#x', '#X'):
+ if name[:2] in ("#x", "#X"):
try:
return unichr(int(name[2:], 16))
except ValueError:
- return u''
- elif name.startswith('#'):
+ return u""
+ elif name.startswith("#"):
try:
return unichr(int(name[1:]))
except ValueError:
- return u''
- return u''
- return _entity_re.sub(handle_match, _striptags_re.sub('', s))
+ return u""
+ return u""
+
+ return _entity_re.sub(handle_match, _striptags_re.sub("", s))
class Pagination(object):
@@ -118,8 +125,11 @@ class Pagination(object):
@cached_property
def entries(self):
- return self.query.offset((self.page - 1) * self.per_page) \
- .limit(self.per_page).all()
+ return (
+ self.query.offset((self.page - 1) * self.per_page)
+ .limit(self.per_page)
+ .all()
+ )
@cached_property
def count(self):