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 - [email protected]
+
+- 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: [email protected]
 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: [email protected]
 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">
-    &copy; 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='[email protected]',


Reply via email to