Mercurial > piecrust2
changeset 770:a7726e4862c4
admin: Fix API changes, don't crash the dashboard on non-binary WIP files.
Treat new/edited files that have no `auto_format` supported extension as
"miscellaneous" files, which are shown separately on the dashboard.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 02 Jul 2016 01:30:51 -0700 |
parents | d841716d8e0d |
children | 673979a5d548 |
files | foodtruck/assets/sass/foodtruck/_base.scss foodtruck/templates/dashboard.html foodtruck/views/create.py foodtruck/views/dashboard.py |
diffstat | 4 files changed, 28 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/foodtruck/assets/sass/foodtruck/_base.scss Sat Jul 02 01:28:29 2016 -0700 +++ b/foodtruck/assets/sass/foodtruck/_base.scss Sat Jul 02 01:30:51 2016 -0700 @@ -49,3 +49,7 @@ padding: 0 0.2em; } +.ft-dash-misc { + color: $ft-color-gray-light; +} +
--- a/foodtruck/templates/dashboard.html Sat Jul 02 01:28:29 2016 -0700 +++ b/foodtruck/templates/dashboard.html Sat Jul 02 01:30:51 2016 -0700 @@ -33,7 +33,7 @@ <div class="col-md-6"> <h2><span class="icon ion-erlenmeyer-flask"></span> Work in Progress</h2> {% if new_pages %} - <p>New pages</p> + <p>New pages:</p> <ul> {% for p in new_pages %} <li><a href="{{p.url}}">{{p.title}}</a><br/> @@ -42,7 +42,7 @@ </ul> {% endif %} {% if edited_pages %} - <p>Edited pages</p> + <p>Edited pages:</p> <ul> {% for p in edited_pages %} <li><a href="{{p.url}}">{{p.title}}</a><br/> @@ -53,6 +53,16 @@ {% if not new_pages and not edited_pages %} <p>No work in progress.</p> {% endif %} + {% if misc_files %} + <div class="ft-dash-misc"> + <p>Miscellaneous new/edited files:</p> + <ul> + {% for p in misc_files %} + <li>{{p}}</li> + {% endfor %} + </ul> + </div> + {% endif %} </div> </div>
--- a/foodtruck/views/create.py Sat Jul 02 01:28:29 2016 -0700 +++ b/foodtruck/views/create.py Sat Jul 02 01:30:51 2016 -0700 @@ -45,8 +45,7 @@ fp.write('') flash("%s was created." % os.path.relpath(fac.path, site.root_dir)) - route = site.getRoute(source.name, fac.metadata, - skip_taxonomies=True) + route = site.getSourceRoute(source.name, fac.metadata) if route is None: logger.error("Can't find route for page: %s" % fac.path) abort(500)
--- a/foodtruck/views/dashboard.py Sat Jul 02 01:28:29 2016 -0700 +++ b/foodtruck/views/dashboard.py Sat Jul 02 01:30:51 2016 -0700 @@ -39,16 +39,21 @@ data['new_pages'] = [] data['edited_pages'] = [] + data['misc_files'] = [] if site.scm: st = site.scm.getStatus() for p in st.new_files: pd = _getWipData(p, site, fs_endpoints) if pd: data['new_pages'].append(pd) + else: + data['misc_files'].append(p) for p in st.edited_files: pd = _getWipData(p, site, fs_endpoints) if pd: data['edited_pages'].append(pd) + else: + data['misc_files'].append(p) data['site_name'] = site.name data['site_title'] = site.piecrust_app.config.get('site/title', site.name) @@ -70,6 +75,11 @@ def _getWipData(path, site, fs_endpoints): + auto_formats = site.piecrust_app.config.get('site/auto_formats', ['html']) + pathname, pathext = os.path.splitext(path) + if pathext not in auto_formats: + return None + source = None for endpoint, s in fs_endpoints.items(): if path.startswith(endpoint): @@ -79,8 +89,7 @@ return None fac = source.buildPageFactory(os.path.join(site.root_dir, path)) - route = site.piecrust_app.getRoute( - source.name, fac.metadata, skip_taxonomies=True) + route = site.piecrust_app.getSourceRoute(source.name, fac.metadata) if not route: return None