diff --git a/CHANGES.rst b/CHANGES.rst index 130d76dc..abaff036 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,12 @@ Changes ------- +3.1.1 +~~~~~ + +Added shortcut config method to add simple template-based pages to clld apps. + + 3.1.0 ~~~~~ diff --git a/clld/__init__.py b/clld/__init__.py index 4df0c006..7b0bf6e1 100644 --- a/clld/__init__.py +++ b/clld/__init__.py @@ -5,7 +5,7 @@ from clld import interfaces -__version__ = "3.1.0" +__version__ = "3.1.1" class Resource(namedtuple('Resource', 'name model interface with_index with_rdfdump')): diff --git a/clld/web/app.py b/clld/web/app.py index e84ad614..27158235 100644 --- a/clld/web/app.py +++ b/clld/web/app.py @@ -449,6 +449,15 @@ def add_410(config, pattern, name=None): _route_and_view(config, pattern, gone, name=name) +def add_page(config, name, pattern=None, view=None, template=None, views=None): + views = views or maybe_import('%s.views' % config.root_package.__name__) + config.add_route_and_view( + name, + pattern or '/' + name, + view or getattr(views, name, lambda r: {}), + renderer=template or name + '.mako') + + def includeme(config): """Upgrading: @@ -520,6 +529,7 @@ def includeme(config): 'add_settings_from_file': add_settings_from_file, 'add_301': add_301, 'add_410': add_410, + 'add_page': add_page, 'register_resource_routes_and_views': register_resource_routes_and_views, }.items(): config.add_directive(name, func) @@ -595,14 +605,9 @@ def includeme(config): if p.stem in home_comp and p.suffix == '.mako': home_comp[p.stem] = True - views = maybe_import('%s.views' % root_package) for name, template in home_comp.items(): if template: - config.add_route_and_view( - name, - '/' + name, - getattr(views, name, lambda r: {}), - renderer=name + '.mako') + config.add_page(name) config.add_settings({'home_comp': [k for k in home_comp.keys() if home_comp[k]]}) diff --git a/docs/conf.py b/docs/conf.py index cc393145..750c6286 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -44,17 +44,17 @@ # General information about the project. project = u'clld' -copyright = u'2016, Robert Forkel' +copyright = u'Max Planck Society' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The full version, including alpha/beta/rc tags. -release = '3.1.0' +release = '3.1.1' # The short X.Y version. -version = '3.1.0' +version = '3.1.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.py b/setup.py index 71a07a4b..2158514c 100644 --- a/setup.py +++ b/setup.py @@ -73,7 +73,7 @@ setup( name='clld', - version='3.1.0', + version='3.1.1', description=( 'Python library supporting the development of cross-linguistic databases'), long_description=README,