Hello community, here is the log from the commit of package python3-Frozen-Flask for openSUSE:Factory checked in at 2016-11-28 15:11:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-Frozen-Flask (Old) and /work/SRC/openSUSE:Factory/.python3-Frozen-Flask.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python3-Frozen-Flask" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-Frozen-Flask/python3-Frozen-Flask.changes 2016-07-24 19:44:00.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3-Frozen-Flask.new/python3-Frozen-Flask.changes 2016-11-28 15:11:07.000000000 +0100 @@ -1,0 +2,9 @@ +Sat Nov 26 21:01:48 UTC 2016 - arun@gmx.de + +- specfile: + * README -> README.rst + +- update to version 0.13: + * Add the FREEZER_REDIRECT_POLICY configuration + +------------------------------------------------------------------- @@ -12 +20,0 @@ - Old: ---- Frozen-Flask-0.12.tar.gz New: ---- Frozen-Flask-0.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-Frozen-Flask.spec ++++++ --- /var/tmp/diff_new_pack.sGFCol/_old 2016-11-28 15:11:08.000000000 +0100 +++ /var/tmp/diff_new_pack.sGFCol/_new 2016-11-28 15:11:08.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package python-Frozen-Flask +# spec file for package python3-Frozen-Flask # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # @@ -17,7 +17,7 @@ Name: python3-Frozen-Flask -Version: 0.12 +Version: 0.13 Release: 0 Summary: A Flask application into a set of static files License: BSD-2-Clause @@ -47,6 +47,6 @@ %{python3_sitelib}/Frozen_Flask-%{version}-py%{py3_ver}.egg-info/ %{python3_sitelib}/flask_frozen/ -%doc README LICENSE +%doc README.rst LICENSE %changelog ++++++ Frozen-Flask-0.12.tar.gz -> Frozen-Flask-0.13.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/Frozen_Flask.egg-info/PKG-INFO new/Frozen-Flask-0.13/Frozen_Flask.egg-info/PKG-INFO --- old/Frozen-Flask-0.12/Frozen_Flask.egg-info/PKG-INFO 2015-11-05 06:18:29.000000000 +0100 +++ new/Frozen-Flask-0.13/Frozen_Flask.egg-info/PKG-INFO 2016-09-30 19:57:44.000000000 +0200 @@ -1,8 +1,8 @@ Metadata-Version: 1.1 Name: Frozen-Flask -Version: 0.12 +Version: 0.13 Summary: Freezes a Flask application into a set of static files. -Home-page: https://github.com/SimonSapin/Frozen-Flask +Home-page: https://github.com/Frozen-Flask/Frozen-Flask Author: Simon Sapin Author-email: simon.sapin@exyr.org License: BSD @@ -16,9 +16,9 @@ Links ````` - * `documentation <http://packages.python.org/Frozen-Flask>`_ + * `documentation <http://pythonhosted.org/Frozen-Flask/>`_ * `development version - <http://github.com/SimonSapin/Frozen-Flask/zipball/master#egg=Frozen-Flask-dev>`_ + <http://github.com/Frozen-Flask/Frozen-Flask/zipball/master#egg=Frozen-Flask-dev>`_ Platform: any Classifier: Environment :: Web Environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/Frozen_Flask.egg-info/SOURCES.txt new/Frozen-Flask-0.13/Frozen_Flask.egg-info/SOURCES.txt --- old/Frozen-Flask-0.12/Frozen_Flask.egg-info/SOURCES.txt 2015-11-05 06:18:29.000000000 +0100 +++ new/Frozen-Flask-0.13/Frozen_Flask.egg-info/SOURCES.txt 2016-09-30 19:57:44.000000000 +0200 @@ -1,6 +1,6 @@ LICENSE MANIFEST.in -README +README.rst setup.cfg setup.py Frozen_Flask.egg-info/PKG-INFO @@ -22,20 +22,6 @@ docs/_static/artwork/icon.png docs/_static/artwork/icon.svg docs/_templates/sidebarintro.html -docs/_themes/.git -docs/_themes/.gitignore -docs/_themes/LICENSE -docs/_themes/README -docs/_themes/flask_theme_support.py -docs/_themes/flask_theme_support.pyc -docs/_themes/flask/layout.html -docs/_themes/flask/relations.html -docs/_themes/flask/theme.conf -docs/_themes/flask/static/flasky.css_t -docs/_themes/flask/static/small_flask.css -docs/_themes/flask_small/layout.html -docs/_themes/flask_small/theme.conf -docs/_themes/flask_small/static/flasky.css_t flask_frozen/__init__.py flask_frozen/tests.py flask_frozen/test_app/__init__.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/PKG-INFO new/Frozen-Flask-0.13/PKG-INFO --- old/Frozen-Flask-0.12/PKG-INFO 2015-11-05 06:18:29.000000000 +0100 +++ new/Frozen-Flask-0.13/PKG-INFO 2016-09-30 19:57:44.000000000 +0200 @@ -1,8 +1,8 @@ Metadata-Version: 1.1 Name: Frozen-Flask -Version: 0.12 +Version: 0.13 Summary: Freezes a Flask application into a set of static files. -Home-page: https://github.com/SimonSapin/Frozen-Flask +Home-page: https://github.com/Frozen-Flask/Frozen-Flask Author: Simon Sapin Author-email: simon.sapin@exyr.org License: BSD @@ -16,9 +16,9 @@ Links ````` - * `documentation <http://packages.python.org/Frozen-Flask>`_ + * `documentation <http://pythonhosted.org/Frozen-Flask/>`_ * `development version - <http://github.com/SimonSapin/Frozen-Flask/zipball/master#egg=Frozen-Flask-dev>`_ + <http://github.com/Frozen-Flask/Frozen-Flask/zipball/master#egg=Frozen-Flask-dev>`_ Platform: any Classifier: Environment :: Web Environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/README new/Frozen-Flask-0.13/README --- old/Frozen-Flask-0.12/README 2013-06-03 10:16:33.000000000 +0200 +++ new/Frozen-Flask-0.13/README 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -Frozen-Flask ------------- - -Freezes a Flask application into a set of static files. The result can be hosted -without any server-side software other than a traditional web server. - -See documentation: http://packages.python.org/Frozen-Flask diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/README.rst new/Frozen-Flask-0.13/README.rst --- old/Frozen-Flask-0.12/README.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/Frozen-Flask-0.13/README.rst 2016-09-30 04:15:25.000000000 +0200 @@ -0,0 +1,23 @@ +Frozen-Flask +============ + +.. image:: https://img.shields.io/pypi/v/Frozen-Flask.svg?maxAge=2592000 + :target: https://pypi.python.org/pypi/Frozen-Flask + +Freezes a Flask application into a set of static files. The result can be hosted +without any server-side software other than a traditional web server. + +See documentation: http://pythonhosted.org/Frozen-Flask/ + +Build Status +------------ + +.. image:: https://img.shields.io/travis/Frozen-Flask/Frozen-Flask.svg?maxAge=2592000 + :target: https://travis-ci.org/Frozen-Flask/Frozen-Flask + +License +------- + +Frozen-Flask is uses a BSD 3-clause license. See LICENSE_. + +.. _LICENSE: LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/.git new/Frozen-Flask-0.13/docs/_themes/.git --- old/Frozen-Flask-0.12/docs/_themes/.git 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/.git 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -gitdir: ../../.git/modules/docs/_themes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/.gitignore new/Frozen-Flask-0.13/docs/_themes/.gitignore --- old/Frozen-Flask-0.12/docs/_themes/.gitignore 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -*.pyc -*.pyo -.DS_Store diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/LICENSE new/Frozen-Flask-0.13/docs/_themes/LICENSE --- old/Frozen-Flask-0.12/docs/_themes/LICENSE 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/LICENSE 1970-01-01 01:00:00.000000000 +0100 @@ -1,37 +0,0 @@ -Copyright (c) 2010 by Armin Ronacher. - -Some rights reserved. - -Redistribution and use in source and binary forms of the theme, with or -without modification, are permitted provided that the following conditions -are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - -* The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -We kindly ask you to only use these themes in an unmodified manner just -for Flask and Flask-related products, not for unrelated projects. If you -like the visual style and want to use it for your own projects, please -consider making some larger changes to the themes (such as changing -font faces, sizes, colors or margins). - -THIS THEME IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS THEME, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/README new/Frozen-Flask-0.13/docs/_themes/README --- old/Frozen-Flask-0.12/docs/_themes/README 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/README 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -Flask Sphinx Styles -=================== - -This repository contains sphinx styles for Flask and Flask related -projects. To use this style in your Sphinx documentation, follow -this guide: - -1. put this folder as _themes into your docs folder. Alternatively - you can also use git submodules to check out the contents there. -2. add this to your conf.py: - - sys.path.append(os.path.abspath('_themes')) - html_theme_path = ['_themes'] - html_theme = 'flask' - -The following themes exist: - -- 'flask' - the standard flask documentation theme for large - projects -- 'flask_small' - small one-page theme. Intended to be used by - very small addon libraries for flask. - -The following options exist for the flask_small theme: - - [options] - index_logo = '' filename of a picture in _static - to be used as replacement for the - h1 in the index.rst file. - index_logo_height = 120px height of the index logo - github_fork = '' repository name on github for the - "fork me" badge diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask/layout.html new/Frozen-Flask-0.13/docs/_themes/flask/layout.html --- old/Frozen-Flask-0.12/docs/_themes/flask/layout.html 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask/layout.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -{%- extends "basic/layout.html" %} -{%- block extrahead %} - {{ super() }} - {% if theme_touch_icon %} - <link rel="apple-touch-icon" href="{{ pathto('_static/' ~ theme_touch_icon, 1) }}" /> - {% endif %} - <link media="only screen and (max-device-width: 480px)" href="{{ - pathto('_static/small_flask.css', 1) }}" type= "text/css" rel="stylesheet" /> -{% endblock %} -{%- block relbar2 %}{% endblock %} -{% block header %} - {{ super() }} - {% if pagename == 'index' %} - <div class=indexwrapper> - {% endif %} -{% endblock %} -{%- block footer %} - <div class="footer"> - © Copyright {{ copyright }}. - Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>. - </div> - {% if pagename == 'index' %} - </div> - {% endif %} -{%- endblock %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask/relations.html new/Frozen-Flask-0.13/docs/_themes/flask/relations.html --- old/Frozen-Flask-0.12/docs/_themes/flask/relations.html 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask/relations.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -<h3>Related Topics</h3> -<ul> - <li><a href="{{ pathto(master_doc) }}">Documentation overview</a><ul> - {%- for parent in parents %} - <li><a href="{{ parent.link|e }}">{{ parent.title }}</a><ul> - {%- endfor %} - {%- if prev %} - <li>Previous: <a href="{{ prev.link|e }}" title="{{ _('previous chapter') - }}">{{ prev.title }}</a></li> - {%- endif %} - {%- if next %} - <li>Next: <a href="{{ next.link|e }}" title="{{ _('next chapter') - }}">{{ next.title }}</a></li> - {%- endif %} - {%- for parent in parents %} - </ul></li> - {%- endfor %} - </ul></li> -</ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask/static/flasky.css_t new/Frozen-Flask-0.13/docs/_themes/flask/static/flasky.css_t --- old/Frozen-Flask-0.12/docs/_themes/flask/static/flasky.css_t 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask/static/flasky.css_t 1970-01-01 01:00:00.000000000 +0100 @@ -1,395 +0,0 @@ -/* - * flasky.css_t - * ~~~~~~~~~~~~ - * - * :copyright: Copyright 2010 by Armin Ronacher. - * :license: Flask Design License, see LICENSE for details. - */ - -{% set page_width = '940px' %} -{% set sidebar_width = '220px' %} - -@import url("basic.css"); - -/* -- page layout ----------------------------------------------------------- */ - -body { - font-family: 'Georgia', serif; - font-size: 17px; - background-color: white; - color: #000; - margin: 0; - padding: 0; -} - -div.document { - width: {{ page_width }}; - margin: 30px auto 0 auto; -} - -div.documentwrapper { - float: left; - width: 100%; -} - -div.bodywrapper { - margin: 0 0 0 {{ sidebar_width }}; -} - -div.sphinxsidebar { - width: {{ sidebar_width }}; -} - -hr { - border: 1px solid #B1B4B6; -} - -div.body { - background-color: #ffffff; - color: #3E4349; - padding: 0 30px 0 30px; -} - -img.floatingflask { - padding: 0 0 10px 10px; - float: right; -} - -div.footer { - width: {{ page_width }}; - margin: 20px auto 30px auto; - font-size: 14px; - color: #888; - text-align: right; -} - -div.footer a { - color: #888; -} - -div.related { - display: none; -} - -div.sphinxsidebar a { - color: #444; - text-decoration: none; - border-bottom: 1px dotted #999; -} - -div.sphinxsidebar a:hover { - border-bottom: 1px solid #999; -} - -div.sphinxsidebar { - font-size: 14px; - line-height: 1.5; -} - -div.sphinxsidebarwrapper { - padding: 18px 10px; -} - -div.sphinxsidebarwrapper p.logo { - padding: 0 0 20px 0; - margin: 0; - text-align: center; -} - -div.sphinxsidebar h3, -div.sphinxsidebar h4 { - font-family: 'Garamond', 'Georgia', serif; - color: #444; - font-size: 24px; - font-weight: normal; - margin: 0 0 5px 0; - padding: 0; -} - -div.sphinxsidebar h4 { - font-size: 20px; -} - -div.sphinxsidebar h3 a { - color: #444; -} - -div.sphinxsidebar p.logo a, -div.sphinxsidebar h3 a, -div.sphinxsidebar p.logo a:hover, -div.sphinxsidebar h3 a:hover { - border: none; -} - -div.sphinxsidebar p { - color: #555; - margin: 10px 0; -} - -div.sphinxsidebar ul { - margin: 10px 0; - padding: 0; - color: #000; -} - -div.sphinxsidebar input { - border: 1px solid #ccc; - font-family: 'Georgia', serif; - font-size: 1em; -} - -/* -- body styles ----------------------------------------------------------- */ - -a { - color: #004B6B; - text-decoration: underline; -} - -a:hover { - color: #6D4100; - text-decoration: underline; -} - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6 { - font-family: 'Garamond', 'Georgia', serif; - font-weight: normal; - margin: 30px 0px 10px 0px; - padding: 0; -} - -{% if theme_index_logo %} -div.indexwrapper h1 { - text-indent: -999999px; - background: url({{ theme_index_logo }}) no-repeat center center; - height: {{ theme_index_logo_height }}; -} -{% endif %} - -div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } -div.body h2 { font-size: 180%; } -div.body h3 { font-size: 150%; } -div.body h4 { font-size: 130%; } -div.body h5 { font-size: 100%; } -div.body h6 { font-size: 100%; } - -a.headerlink { - color: #ddd; - padding: 0 4px; - text-decoration: none; -} - -a.headerlink:hover { - color: #444; - background: #eaeaea; -} - -div.body p, div.body dd, div.body li { - line-height: 1.4em; -} - -div.admonition { - background: #fafafa; - margin: 20px -30px; - padding: 10px 30px; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -div.admonition tt.xref, div.admonition a tt { - border-bottom: 1px solid #fafafa; -} - -dd div.admonition { - margin-left: -60px; - padding-left: 60px; -} - -div.admonition p.admonition-title { - font-family: 'Garamond', 'Georgia', serif; - font-weight: normal; - font-size: 24px; - margin: 0 0 10px 0; - padding: 0; - line-height: 1; -} - -div.admonition p.last { - margin-bottom: 0; -} - -div.highlight { - background-color: white; -} - -dt:target, .highlight { - background: #FAF3E8; -} - -div.note { - background-color: #eee; - border: 1px solid #ccc; -} - -div.seealso { - background-color: #ffc; - border: 1px solid #ff6; -} - -div.topic { - background-color: #eee; -} - -p.admonition-title { - display: inline; -} - -p.admonition-title:after { - content: ":"; -} - -pre, tt { - font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; - font-size: 0.9em; -} - -img.screenshot { -} - -tt.descname, tt.descclassname { - font-size: 0.95em; -} - -tt.descname { - padding-right: 0.08em; -} - -img.screenshot { - -moz-box-shadow: 2px 2px 4px #eee; - -webkit-box-shadow: 2px 2px 4px #eee; - box-shadow: 2px 2px 4px #eee; -} - -table.docutils { - border: 1px solid #888; - -moz-box-shadow: 2px 2px 4px #eee; - -webkit-box-shadow: 2px 2px 4px #eee; - box-shadow: 2px 2px 4px #eee; -} - -table.docutils td, table.docutils th { - border: 1px solid #888; - padding: 0.25em 0.7em; -} - -table.field-list, table.footnote { - border: none; - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - -table.footnote { - margin: 15px 0; - width: 100%; - border: 1px solid #eee; - background: #fdfdfd; - font-size: 0.9em; -} - -table.footnote + table.footnote { - margin-top: -15px; - border-top: none; -} - -table.field-list th { - padding: 0 0.8em 0 0; -} - -table.field-list td { - padding: 0; -} - -table.footnote td.label { - width: 0px; - padding: 0.3em 0 0.3em 0.5em; -} - -table.footnote td { - padding: 0.3em 0.5em; -} - -dl { - margin: 0; - padding: 0; -} - -dl dd { - margin-left: 30px; -} - -blockquote { - margin: 0 0 0 30px; - padding: 0; -} - -ul, ol { - margin: 10px 0 10px 30px; - padding: 0; -} - -pre { - background: #eee; - padding: 7px 30px; - margin: 15px -30px; - line-height: 1.3em; -} - -dl pre, blockquote pre, li pre { - margin-left: -60px; - padding-left: 60px; -} - -dl dl pre { - margin-left: -90px; - padding-left: 90px; -} - -tt { - background-color: #ecf0f3; - color: #222; - /* padding: 1px 2px; */ -} - -tt.xref, a tt { - background-color: #FBFBFB; - border-bottom: 1px solid white; -} - -a.reference { - text-decoration: none; - border-bottom: 1px dotted #004B6B; -} - -a.reference:hover { - border-bottom: 1px solid #6D4100; -} - -a.footnote-reference { - text-decoration: none; - font-size: 0.7em; - vertical-align: top; - border-bottom: 1px dotted #004B6B; -} - -a.footnote-reference:hover { - border-bottom: 1px solid #6D4100; -} - -a:hover tt { - background: #EEE; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask/static/small_flask.css new/Frozen-Flask-0.13/docs/_themes/flask/static/small_flask.css --- old/Frozen-Flask-0.12/docs/_themes/flask/static/small_flask.css 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask/static/small_flask.css 1970-01-01 01:00:00.000000000 +0100 @@ -1,70 +0,0 @@ -/* - * small_flask.css_t - * ~~~~~~~~~~~~~~~~~ - * - * :copyright: Copyright 2010 by Armin Ronacher. - * :license: Flask Design License, see LICENSE for details. - */ - -body { - margin: 0; - padding: 20px 30px; -} - -div.documentwrapper { - float: none; - background: white; -} - -div.sphinxsidebar { - display: block; - float: none; - width: 102.5%; - margin: 50px -30px -20px -30px; - padding: 10px 20px; - background: #333; - color: white; -} - -div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, -div.sphinxsidebar h3 a { - color: white; -} - -div.sphinxsidebar a { - color: #aaa; -} - -div.sphinxsidebar p.logo { - display: none; -} - -div.document { - width: 100%; - margin: 0; -} - -div.related { - display: block; - margin: 0; - padding: 10px 0 20px 0; -} - -div.related ul, -div.related ul li { - margin: 0; - padding: 0; -} - -div.footer { - display: none; -} - -div.bodywrapper { - margin: 0; -} - -div.body { - min-height: 0; - padding: 0; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask/theme.conf new/Frozen-Flask-0.13/docs/_themes/flask/theme.conf --- old/Frozen-Flask-0.12/docs/_themes/flask/theme.conf 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask/theme.conf 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -[theme] -inherit = basic -stylesheet = flasky.css -pygments_style = flask_theme_support.FlaskyStyle - -[options] -index_logo = '' -index_logo_height = 120px -touch_icon = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask_small/layout.html new/Frozen-Flask-0.13/docs/_themes/flask_small/layout.html --- old/Frozen-Flask-0.12/docs/_themes/flask_small/layout.html 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask_small/layout.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -{% extends "basic/layout.html" %} -{% block header %} - {{ super() }} - {% if pagename == 'index' %} - <div class=indexwrapper> - {% endif %} -{% endblock %} -{% block footer %} - {% if pagename == 'index' %} - </div> - {% endif %} -{% endblock %} -{# do not display relbars #} -{% block relbar1 %}{% endblock %} -{% block relbar2 %} - {% if theme_github_fork %} - <a href="http://github.com/{{ theme_github_fork }}"><img style="position: fixed; top: 0; right: 0; border: 0;" - src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a> - {% endif %} -{% endblock %} -{% block sidebar1 %}{% endblock %} -{% block sidebar2 %}{% endblock %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask_small/static/flasky.css_t new/Frozen-Flask-0.13/docs/_themes/flask_small/static/flasky.css_t --- old/Frozen-Flask-0.12/docs/_themes/flask_small/static/flasky.css_t 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask_small/static/flasky.css_t 1970-01-01 01:00:00.000000000 +0100 @@ -1,287 +0,0 @@ -/* - * flasky.css_t - * ~~~~~~~~~~~~ - * - * Sphinx stylesheet -- flasky theme based on nature theme. - * - * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -@import url("basic.css"); - -/* -- page layout ----------------------------------------------------------- */ - -body { - font-family: 'Georgia', serif; - font-size: 17px; - color: #000; - background: white; - margin: 0; - padding: 0; -} - -div.documentwrapper { - float: left; - width: 100%; -} - -div.bodywrapper { - margin: 40px auto 0 auto; - width: 700px; -} - -hr { - border: 1px solid #B1B4B6; -} - -div.body { - background-color: #ffffff; - color: #3E4349; - padding: 0 30px 30px 30px; -} - -img.floatingflask { - padding: 0 0 10px 10px; - float: right; -} - -div.footer { - text-align: right; - color: #888; - padding: 10px; - font-size: 14px; - width: 650px; - margin: 0 auto 40px auto; -} - -div.footer a { - color: #888; - text-decoration: underline; -} - -div.related { - line-height: 32px; - color: #888; -} - -div.related ul { - padding: 0 0 0 10px; -} - -div.related a { - color: #444; -} - -/* -- body styles ----------------------------------------------------------- */ - -a { - color: #004B6B; - text-decoration: underline; -} - -a:hover { - color: #6D4100; - text-decoration: underline; -} - -div.body { - padding-bottom: 40px; /* saved for footer */ -} - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6 { - font-family: 'Garamond', 'Georgia', serif; - font-weight: normal; - margin: 30px 0px 10px 0px; - padding: 0; -} - -{% if theme_index_logo %} -div.indexwrapper h1 { - text-indent: -999999px; - background: url({{ theme_index_logo }}) no-repeat center center; - height: {{ theme_index_logo_height }}; -} -{% endif %} - -div.body h2 { font-size: 180%; } -div.body h3 { font-size: 150%; } -div.body h4 { font-size: 130%; } -div.body h5 { font-size: 100%; } -div.body h6 { font-size: 100%; } - -a.headerlink { - color: white; - padding: 0 4px; - text-decoration: none; -} - -a.headerlink:hover { - color: #444; - background: #eaeaea; -} - -div.body p, div.body dd, div.body li { - line-height: 1.4em; -} - -div.admonition { - background: #fafafa; - margin: 20px -30px; - padding: 10px 30px; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -div.admonition p.admonition-title { - font-family: 'Garamond', 'Georgia', serif; - font-weight: normal; - font-size: 24px; - margin: 0 0 10px 0; - padding: 0; - line-height: 1; -} - -div.admonition p.last { - margin-bottom: 0; -} - -div.highlight{ - background-color: white; -} - -dt:target, .highlight { - background: #FAF3E8; -} - -div.note { - background-color: #eee; - border: 1px solid #ccc; -} - -div.seealso { - background-color: #ffc; - border: 1px solid #ff6; -} - -div.topic { - background-color: #eee; -} - -div.warning { - background-color: #ffe4e4; - border: 1px solid #f66; -} - -p.admonition-title { - display: inline; -} - -p.admonition-title:after { - content: ":"; -} - -pre, tt { - font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; - font-size: 0.85em; -} - -img.screenshot { -} - -tt.descname, tt.descclassname { - font-size: 0.95em; -} - -tt.descname { - padding-right: 0.08em; -} - -img.screenshot { - -moz-box-shadow: 2px 2px 4px #eee; - -webkit-box-shadow: 2px 2px 4px #eee; - box-shadow: 2px 2px 4px #eee; -} - -table.docutils { - border: 1px solid #888; - -moz-box-shadow: 2px 2px 4px #eee; - -webkit-box-shadow: 2px 2px 4px #eee; - box-shadow: 2px 2px 4px #eee; -} - -table.docutils td, table.docutils th { - border: 1px solid #888; - padding: 0.25em 0.7em; -} - -table.field-list, table.footnote { - border: none; - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - -table.footnote { - margin: 15px 0; - width: 100%; - border: 1px solid #eee; -} - -table.field-list th { - padding: 0 0.8em 0 0; -} - -table.field-list td { - padding: 0; -} - -table.footnote td { - padding: 0.5em; -} - -dl { - margin: 0; - padding: 0; -} - -dl dd { - margin-left: 30px; -} - -pre { - padding: 0; - margin: 15px -30px; - padding: 8px; - line-height: 1.3em; - padding: 7px 30px; - background: #eee; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; -} - -dl pre { - margin-left: -60px; - padding-left: 60px; -} - -tt { - background-color: #ecf0f3; - color: #222; - /* padding: 1px 2px; */ -} - -tt.xref, a tt { - background-color: #FBFBFB; -} - -a:hover tt { - background: #EEE; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask_small/theme.conf new/Frozen-Flask-0.13/docs/_themes/flask_small/theme.conf --- old/Frozen-Flask-0.12/docs/_themes/flask_small/theme.conf 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask_small/theme.conf 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -[theme] -inherit = basic -stylesheet = flasky.css -nosidebar = true -pygments_style = flask_theme_support.FlaskyStyle - -[options] -index_logo = '' -index_logo_height = 120px -github_fork = '' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/_themes/flask_theme_support.py new/Frozen-Flask-0.13/docs/_themes/flask_theme_support.py --- old/Frozen-Flask-0.12/docs/_themes/flask_theme_support.py 2013-06-13 21:42:14.000000000 +0200 +++ new/Frozen-Flask-0.13/docs/_themes/flask_theme_support.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,86 +0,0 @@ -# flasky extensions. flasky pygments style based on tango style -from pygments.style import Style -from pygments.token import Keyword, Name, Comment, String, Error, \ - Number, Operator, Generic, Whitespace, Punctuation, Other, Literal - - -class FlaskyStyle(Style): - background_color = "#f8f8f8" - default_style = "" - - styles = { - # No corresponding class for the following: - #Text: "", # class: '' - Whitespace: "underline #f8f8f8", # class: 'w' - Error: "#a40000 border:#ef2929", # class: 'err' - Other: "#000000", # class 'x' - - Comment: "italic #8f5902", # class: 'c' - Comment.Preproc: "noitalic", # class: 'cp' - - Keyword: "bold #004461", # class: 'k' - Keyword.Constant: "bold #004461", # class: 'kc' - Keyword.Declaration: "bold #004461", # class: 'kd' - Keyword.Namespace: "bold #004461", # class: 'kn' - Keyword.Pseudo: "bold #004461", # class: 'kp' - Keyword.Reserved: "bold #004461", # class: 'kr' - Keyword.Type: "bold #004461", # class: 'kt' - - Operator: "#582800", # class: 'o' - Operator.Word: "bold #004461", # class: 'ow' - like keywords - - Punctuation: "bold #000000", # class: 'p' - - # because special names such as Name.Class, Name.Function, etc. - # are not recognized as such later in the parsing, we choose them - # to look the same as ordinary variables. - Name: "#000000", # class: 'n' - Name.Attribute: "#c4a000", # class: 'na' - to be revised - Name.Builtin: "#004461", # class: 'nb' - Name.Builtin.Pseudo: "#3465a4", # class: 'bp' - Name.Class: "#000000", # class: 'nc' - to be revised - Name.Constant: "#000000", # class: 'no' - to be revised - Name.Decorator: "#888", # class: 'nd' - to be revised - Name.Entity: "#ce5c00", # class: 'ni' - Name.Exception: "bold #cc0000", # class: 'ne' - Name.Function: "#000000", # class: 'nf' - Name.Property: "#000000", # class: 'py' - Name.Label: "#f57900", # class: 'nl' - Name.Namespace: "#000000", # class: 'nn' - to be revised - Name.Other: "#000000", # class: 'nx' - Name.Tag: "bold #004461", # class: 'nt' - like a keyword - Name.Variable: "#000000", # class: 'nv' - to be revised - Name.Variable.Class: "#000000", # class: 'vc' - to be revised - Name.Variable.Global: "#000000", # class: 'vg' - to be revised - Name.Variable.Instance: "#000000", # class: 'vi' - to be revised - - Number: "#990000", # class: 'm' - - Literal: "#000000", # class: 'l' - Literal.Date: "#000000", # class: 'ld' - - String: "#4e9a06", # class: 's' - String.Backtick: "#4e9a06", # class: 'sb' - String.Char: "#4e9a06", # class: 'sc' - String.Doc: "italic #8f5902", # class: 'sd' - like a comment - String.Double: "#4e9a06", # class: 's2' - String.Escape: "#4e9a06", # class: 'se' - String.Heredoc: "#4e9a06", # class: 'sh' - String.Interpol: "#4e9a06", # class: 'si' - String.Other: "#4e9a06", # class: 'sx' - String.Regex: "#4e9a06", # class: 'sr' - String.Single: "#4e9a06", # class: 's1' - String.Symbol: "#4e9a06", # class: 'ss' - - Generic: "#000000", # class: 'g' - Generic.Deleted: "#a40000", # class: 'gd' - Generic.Emph: "italic #000000", # class: 'ge' - Generic.Error: "#ef2929", # class: 'gr' - Generic.Heading: "bold #000080", # class: 'gh' - Generic.Inserted: "#00A000", # class: 'gi' - Generic.Output: "#888", # class: 'go' - Generic.Prompt: "#745334", # class: 'gp' - Generic.Strong: "bold #000000", # class: 'gs' - Generic.Subheading: "bold #800080", # class: 'gu' - Generic.Traceback: "bold #a40000", # class: 'gt' - } Files old/Frozen-Flask-0.12/docs/_themes/flask_theme_support.pyc and new/Frozen-Flask-0.13/docs/_themes/flask_theme_support.pyc differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/docs/index.rst new/Frozen-Flask-0.13/docs/index.rst --- old/Frozen-Flask-0.12/docs/index.rst 2015-11-05 06:16:37.000000000 +0100 +++ new/Frozen-Flask-0.13/docs/index.rst 2016-09-30 03:02:43.000000000 +0200 @@ -193,6 +193,16 @@ `Flask-Script <http://packages.python.org/Flask-Script/>`_ may come in handy here. +Controlling What Is Followed +---------------------------- + +Frozen-Flask follows links automatically or with some help from URL generators. +If you want to control what gets followed, then URL generators should be used +with the Freezer's ``with_no_argument_rules`` and ``log_url_for`` flags. +Disabling these flags will force Frozen-Flask to use URL generators only. The +combination of these three elements determines how much Frozen-Flask will +follow. + Configuration ------------- @@ -279,11 +289,20 @@ 404 error is returned by your application. In this case, a warning will be printed on stdout and the static page will be generated using your 404 error page handler or flask's default one. - This can be usefull during development phase if you have already referenced - pages wich aren't written yet. + This can be useful during development phase if you have already referenced + pages which aren't written yet. .. versionadded:: 0.12 +``FREEZER_REDIRECT_POLICY`` + The policy for handling redirects. The default is ``'follow'`` which means + that when a redirect response is encountered it will follow it to get the + content from the redirected location. ``'ignore'`` will not stop freezing, + but no content will appear in the redirected location. ``'error'`` will + raise an exception if a redirect is encountered. + + .. versionadded:: 0.13 + .. _mime-types: Filenames and MIME types @@ -361,16 +380,6 @@ Changelog --------- -Version 0.12 -~~~~~~~~~~~~ - -Released on 2015-10-05. - -* Fix `#38 <https://github.com/SimonSapin/Frozen-Flask/issues/38>`_: - add ``FREEZER_STATIC_IGNORE`` config option. -* Add ``FREEZER_IGNORE_404_NOT_FOUND`` config option. - - Version 0.11 ~~~~~~~~~~~~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/flask_frozen/__init__.py new/Frozen-Flask-0.13/flask_frozen/__init__.py --- old/Frozen-Flask-0.12/flask_frozen/__init__.py 2015-11-05 06:14:11.000000000 +0100 +++ new/Frozen-Flask-0.13/flask_frozen/__init__.py 2016-09-30 03:02:43.000000000 +0200 @@ -14,7 +14,7 @@ __all__ = ['Freezer', 'walk_directory', 'relative_url_for'] -VERSION = '0.12' +VERSION = '0.13' import os.path @@ -55,6 +55,9 @@ class NotFoundWarning(Warning): pass +class RedirectWarning(Warning): + pass + class Freezer(object): """ :param app: your application or None if you use :meth:`init_app` @@ -103,6 +106,7 @@ app.config.setdefault('FREEZER_IGNORE_MIMETYPE_WARNINGS', False) app.config.setdefault('FREEZER_RELATIVE_URLS', False) app.config.setdefault('FREEZER_IGNORE_404_NOT_FOUND', False) + app.config.setdefault('FREEZER_REDIRECT_POLICY', 'follow') def register_generator(self, function): """Register a function as an URL generator. @@ -242,7 +246,7 @@ if not_generated_endpoints: warnings.warn( - 'Nothing frozen for endpoints %s. Did you forget an URL ' + 'Nothing frozen for endpoints %s. Did you forget a URL ' 'generator?' % ', '.join( unicode(e) for e in not_generated_endpoints), MissingURLGeneratorWarning, @@ -253,11 +257,14 @@ """ client = self.app.test_client() base_url = self.app.config['FREEZER_BASE_URL'] + redirect_policy = self.app.config['FREEZER_REDIRECT_POLICY'] + follow_redirects = redirect_policy == 'follow' + ignore_redirect = redirect_policy == 'ignore' with conditional_context(self.url_for_logger, self.log_url_for): with conditional_context(patch_url_for(self.app), self.app.config['FREEZER_RELATIVE_URLS']): - response = client.get(url, follow_redirects=True, + response = client.get(url, follow_redirects=follow_redirects, base_url=base_url) # The client follows redirects by itself @@ -270,6 +277,10 @@ warnings.warn('Ignored %r on URL %s' % (response.status, url), NotFoundWarning, stacklevel=3) + elif response.status_code in (301, 302) and ignore_redirect: + warnings.warn('Ignored %r on URL %s' % (response.status, url), + RedirectWarning, + stacklevel=3) else: raise ValueError('Unexpected status %r on URL %s' \ % (response.status, url)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/flask_frozen/test_app/__init__.py new/Frozen-Flask-0.13/flask_frozen/test_app/__init__.py --- old/Frozen-Flask-0.12/flask_frozen/test_app/__init__.py 2013-06-13 21:00:04.000000000 +0200 +++ new/Frozen-Flask-0.13/flask_frozen/test_app/__init__.py 2016-09-30 03:02:43.000000000 +0200 @@ -13,7 +13,7 @@ import os.path from functools import partial -from flask import Flask, url_for +from flask import Flask, url_for, redirect from flask_frozen import Freezer from .admin import admin_blueprint @@ -37,6 +37,10 @@ return ('Main index ' + url_for('product', product_id='5', revision='b12ef20')) + @app.route('/redirect/') + def redirected_page(): + return redirect('/') + @app.route('/page/<name>/') def page(name): url_for('product', product_id='3') # Pretend we’re adding a link diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/flask_frozen/tests.py new/Frozen-Flask-0.13/flask_frozen/tests.py --- old/Frozen-Flask-0.12/flask_frozen/tests.py 2015-03-29 13:40:16.000000000 +0200 +++ new/Frozen-Flask-0.13/flask_frozen/tests.py 2016-09-30 03:02:43.000000000 +0200 @@ -21,7 +21,8 @@ from warnings import catch_warnings from flask_frozen import (Freezer, walk_directory, - MissingURLGeneratorWarning, MimetypeMismatchWarning, NotFoundWarning) + MissingURLGeneratorWarning, MimetypeMismatchWarning, NotFoundWarning, + RedirectWarning) from flask_frozen import test_app try: @@ -100,6 +101,7 @@ # URL -> expected bytes content of the generated file expected_output = { u'/': b'Main index /product_5/?revision=b12ef20', + u'/redirect/': b'Main index /product_5/?revision=b12ef20', u'/admin/': b'Admin index\n' b'<a href="/page/I%20l%C3%B8v%C3%AB%20Unicode/">Unicode test</a>\n' b'<a href="/page/octothorp/?query_foo=bar#introduction">' @@ -127,6 +129,7 @@ # URL -> path to the generated file, relative to the build destination root filenames = { u'/': u'index.html', + u'/redirect/': u'redirect/index.html', u'/admin/': u'admin/index.html', u'/robots.txt': u'robots.txt', u'/favicon.ico': u'favicon.ico', @@ -293,7 +296,7 @@ def test_warn_on_internal_404(self): with self.make_app_with_404() as (temp, app, freezer): - # Enable 404 erros ignoring + # Enable 404 errors ignoring app.config['FREEZER_IGNORE_404_NOT_FOUND'] = True # Test warning with 404 errors when we choose to ignore them with catch_warnings(record=True) as logged_warnings: @@ -303,6 +306,30 @@ self.assertEqual(logged_warnings[0].category, NotFoundWarning) + def test_error_on_redirect(self): + with self.make_app() as (temp, app, freezer): + # Enable errors on redirects. + app.config['FREEZER_REDIRECT_POLICY'] = 'error' + try: + freezer.freeze() + except ValueError as e: + error_msg = "Unexpected status '302 FOUND' on URL /redirect/" + assert error_msg in e.args[0] + else: + assert False, 'Expected ValueError' + + def test_warn_on_redirect(self): + with self.make_app() as (temp, app, freezer): + # Enable ignoring redirects. + app.config['FREEZER_REDIRECT_POLICY'] = 'ignore' + # Test warning with 302 errors when we choose to ignore them + with catch_warnings(record=True) as logged_warnings: + warnings.simplefilter("always") + freezer.freeze() + self.assertEqual(len(logged_warnings), 1) + self.assertEqual(logged_warnings[0].category, + RedirectWarning) + def test_warn_on_missing_generator(self): with self.make_app() as (temp, app, freezer): # Add a new endpoint without URL generator diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Frozen-Flask-0.12/setup.py new/Frozen-Flask-0.13/setup.py --- old/Frozen-Flask-0.12/setup.py 2013-06-13 21:00:13.000000000 +0200 +++ new/Frozen-Flask-0.13/setup.py 2016-09-30 04:16:35.000000000 +0200 @@ -8,9 +8,9 @@ Links ````` -* `documentation <http://packages.python.org/Frozen-Flask>`_ +* `documentation <http://pythonhosted.org/Frozen-Flask/>`_ * `development version - <http://github.com/SimonSapin/Frozen-Flask/zipball/master#egg=Frozen-Flask-dev>`_ + <http://github.com/Frozen-Flask/Frozen-Flask/zipball/master#egg=Frozen-Flask-dev>`_ """ import re @@ -26,7 +26,7 @@ setup( name='Frozen-Flask', version=VERSION, - url='https://github.com/SimonSapin/Frozen-Flask', + url='https://github.com/Frozen-Flask/Frozen-Flask', license='BSD', author='Simon Sapin', author_email='simon.sapin@exyr.org',