This file is indexed.

/usr/share/doc/python-werkzeug-doc/html/python3.html is in python-werkzeug-doc 0.10.4+dfsg1-1ubuntu1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Python 3 Notes &mdash; Werkzeug 0.10.4 documentation</title>
    
    <link rel="stylesheet" href="_static/werkzeug.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    './',
        VERSION:     '0.10.4',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <link rel="top" title="Werkzeug 0.10.4 documentation" href="index.html" />
    <link rel="next" title="Serving WSGI Applications" href="serving.html" />
    <link rel="prev" title="Quickstart" href="quickstart.html" /> 
  </head>
  <body role="document">
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="serving.html" title="Serving WSGI Applications"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="quickstart.html" title="Quickstart"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">Werkzeug 0.10.4 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="python-3-notes">
<span id="python3"></span><h1>Python 3 Notes<a class="headerlink" href="#python-3-notes" title="Permalink to this headline"></a></h1>
<p>This part of the documentation outlines special information required to
use Werkzeug and WSGI on Python 3.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">Python 3 support in Werkzeug is currently highly experimental.  Please
give feedback on it and help us improve it.</p>
</div>
<div class="section" id="wsgi-environment">
<h2>WSGI Environment<a class="headerlink" href="#wsgi-environment" title="Permalink to this headline"></a></h2>
<p>The WSGI environment on Python 3 works slightly different than it does on
Python 2.  For the most part Werkzeug hides the differences from you if
you work on the higher level APIs.  The main difference between Python 2
and Python 3 is that on Python 2 the WSGI environment contains bytes
whereas the environment on Python 3 contains a range of differently
encoded strings.</p>
<p>There are two different kinds of strings in the WSGI environ on Python 3:</p>
<ul class="simple">
<li>unicode strings restricted to latin1 values.  These are the used for
HTTP headers and a few other things.</li>
<li>unicode strings carrying binary payload, roundtripped through latin1
values.  This is usually referred as “WSGI encoding dance” throughout
Werkzeug.</li>
</ul>
<p>Werkzeug provides you with functionality to deal with these automatically
so that you don&#8217;t need to be aware of the inner workings.  The following
functions and classes should be used to read information out of the
WSGI environment:</p>
<ul class="simple">
<li><a class="reference internal" href="wsgi.html#werkzeug.wsgi.get_current_url" title="werkzeug.wsgi.get_current_url"><code class="xref py py-func docutils literal"><span class="pre">get_current_url()</span></code></a></li>
<li><a class="reference internal" href="wsgi.html#werkzeug.wsgi.get_host" title="werkzeug.wsgi.get_host"><code class="xref py py-func docutils literal"><span class="pre">get_host()</span></code></a></li>
<li><a class="reference internal" href="wsgi.html#werkzeug.wsgi.get_script_name" title="werkzeug.wsgi.get_script_name"><code class="xref py py-func docutils literal"><span class="pre">get_script_name()</span></code></a></li>
<li><a class="reference internal" href="wsgi.html#werkzeug.wsgi.get_path_info" title="werkzeug.wsgi.get_path_info"><code class="xref py py-func docutils literal"><span class="pre">get_path_info()</span></code></a></li>
<li><a class="reference internal" href="wsgi.html#werkzeug.wsgi.get_query_string" title="werkzeug.wsgi.get_query_string"><code class="xref py py-func docutils literal"><span class="pre">get_query_string()</span></code></a></li>
<li><a class="reference internal" href="datastructures.html#werkzeug.datastructures.EnvironHeaders" title="werkzeug.datastructures.EnvironHeaders"><code class="xref py py-func docutils literal"><span class="pre">EnvironHeaders()</span></code></a></li>
</ul>
<p>Applications are strongly discouraged to create and modify a WSGI
environment themselves on Python 3 unless they take care of the proper
decoding step.  All high level interfaces in Werkzeug will apply the
correct encoding and decoding steps as necessary.</p>
</div>
<div class="section" id="urls">
<h2>URLs<a class="headerlink" href="#urls" title="Permalink to this headline"></a></h2>
<p>URLs in Werkzeug attempt to represent themselves as unicode strings on
Python 3.  All the parsing functions generally also provide functionality
that allow operations on bytes.  In some cases functions that deal with
URLs allow passing in <cite>None</cite> as charset to change the return value to byte
objects.  Internally Werkzeug will now unify URIs and IRIs as much as
possible.</p>
</div>
<div class="section" id="request-cleanup">
<h2>Request Cleanup<a class="headerlink" href="#request-cleanup" title="Permalink to this headline"></a></h2>
<p>Request objects on Python 3 and PyPy require explicit closing when file
uploads are involved.  This is required to properly close temporary file
objects created by the multipart parser.  For that purpose the <code class="docutils literal"><span class="pre">close()</span></code>
method was introduced.</p>
<p>In addition to that request objects now also act as context managers that
automatically close.</p>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper"><p class="logo"><a href="index.html">
  <img class="logo" src="_static/werkzeug.png" alt="Logo"/>
</a></p>
  <h3><a href="index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Python 3 Notes</a><ul>
<li><a class="reference internal" href="#wsgi-environment">WSGI Environment</a></li>
<li><a class="reference internal" href="#urls">URLs</a></li>
<li><a class="reference internal" href="#request-cleanup">Request Cleanup</a></li>
</ul>
</li>
</ul>
<h3>Related Topics</h3>
<ul>
  <li><a href="index.html">Documentation overview</a><ul>
      <li>Previous: <a href="quickstart.html" title="previous chapter">Quickstart</a></li>
      <li>Next: <a href="serving.html" title="next chapter">Serving WSGI Applications</a></li>
  </ul></li>
</ul>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="_sources/python3.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="footer">
      &copy; Copyright 2011, The Werkzeug Team.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
    </div>
  </body>
</html>