This file is indexed.

/usr/share/doc/libapache2-mod-python-doc/doc-html/pyapi-util-fstor-examples.html is in libapache2-mod-python-doc 3.3.1-11.

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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="modpython.css" type='text/css' />
<link rel="first" href="modpython.html" title='Mod_python Manual' />
<link rel='contents' href='contents.html' title="Contents" />
<link rel='index' href='genindex.html' title='Index' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<link rel="next" href="pyapi-util-fstor-fld.html" />
<link rel="prev" href="pyapi-util-fstor.html" />
<link rel="parent" href="pyapi-util.html" />
<link rel="next" href="pyapi-util-fstor-fld.html" />
<meta name='aesop' content='information' />
<title>4.6.2 FieldStorage Examples</title>
</head>
<body>
<DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="4.6.1 FieldStorage class"
  href="pyapi-util-fstor.html"><img src='previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
<td class='online-navigation'><a rel="parent" title="4.6 util - Miscellaneous"
  href="pyapi-util.html"><img src='up.png'
  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
<td class='online-navigation'><a rel="next" title="4.6.3 Field class"
  href="pyapi-util-fstor-fld.html"><img src='next.png'
  border='0' height='32'  alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='contents.png'
  border='0' height='32'  alt='Contents' width='32' /></A></td>
<td class='online-navigation'><img src='blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='index.png'
  border='0' height='32'  alt='Index' width='32' /></A></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="pyapi-util-fstor.html">4.6.1 FieldStorage class</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="pyapi-util.html">4.6 util - Miscellaneous</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="pyapi-util-fstor-fld.html">4.6.3 Field class</A>
</div>
<hr /></div>
</DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION006620000000000000000"></A><A NAME="pyapi-util-fstor-examples"></A>
<BR>
4.6.2 FieldStorage Examples
</H2>

<P>
The following examples demonstrate how to use the <var>file_callback</var> 
  parameter of the <tt class="class">FieldStorage</tt> constructor to control file
  object creation. The <tt class="class">Storage</tt> classes created in both 
  examples derive from FileType, thereby providing extended file
  functionality.

<P>
These examples are provided for demonstration purposes only. The 
  issue of temporary file location and security must be considered
  when providing such overrides with mod_python in production use.

<P>
<DL>
<DT><STRONG>Simple file control using class constructor</STRONG></DT>
<DD><P>
This example uses the <tt class="class">FieldStorage</tt> class constructor to
    create the file object, allowing simple control. It is not 
    advisable to add class variables to this if serving multiple sites
    from apache. In that case use the factory method instead.

<P>
<div class="verbatim"><pre>
class Storage(file):

    def __init__(self, advisory_filename):
        self.advisory_filename = advisory_filename
        self.delete_on_close = True
        self.already_deleted = False
        self.real_filename = '/someTempDir/thingy-unique-thingy'
        super(Storage, self).__init__(self.real_filename, 'w+b')

    def close(self):
        if self.already_deleted:
            return
        super(Storage, self).close()
        if self.delete_on_close:
            self.already_deleted = True
            os.remove(self.real_filename)

request_data = util.FieldStorage(request, keep_blank_values=True, file_callback=Storage)
</pre></div>

<P>
</DD>
<DT><STRONG>Advanced file control using object factory</STRONG></DT>
<DD><P>
Using a object factory can provide greater control over the
    constructor parameters.

<P>
<div class="verbatim"><pre>
import os

class Storage(file):

    def __init__(self, directory, advisory_filename):
        self.advisory_filename = advisory_filename
        self.delete_on_close = True
        self.already_deleted = False
        self.real_filename = directory + '/thingy-unique-thingy'
        super(Storage, self).__init__(self.real_filename, 'w+b')

    def close(self):
        if self.already_deleted:
            return
        super(Storage, self).close()
        if self.delete_on_close:
            self.already_deleted = True
            os.remove(self.real_filename)

class StorageFactory:

    def __init__(self, directory):
        self.dir = directory

    def create(self, advisory_filename):
        return Storage(self.dir, advisory_filename)

file_factory = StorageFactory(someDirectory)
[...sometime later...]
request_data = util.FieldStorage(request, keep_blank_values=True,
                                file_callback=file_factory.create)
</pre></div>

<P>
</DD>
</DL>

<P>

<DIV CLASS="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="4.6.1 FieldStorage class"
  href="pyapi-util-fstor.html"><img src='previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
<td class='online-navigation'><a rel="parent" title="4.6 util - Miscellaneous"
  href="pyapi-util.html"><img src='up.png'
  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
<td class='online-navigation'><a rel="next" title="4.6.3 Field class"
  href="pyapi-util-fstor-fld.html"><img src='next.png'
  border='0' height='32'  alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='contents.png'
  border='0' height='32'  alt='Contents' width='32' /></A></td>
<td class='online-navigation'><img src='blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='index.png'
  border='0' height='32'  alt='Index' width='32' /></A></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="pyapi-util-fstor.html">4.6.1 FieldStorage class</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="pyapi-util.html">4.6 util - Miscellaneous</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="pyapi-util-fstor-fld.html">4.6.3 Field class</A>
</div>
</div>
<hr />
<span class="release-info">Release 3.3.1, documentation updated on January 29, 2007.</span>
</DIV>
<!--End of Navigation Panel-->

</BODY>
</HTML>