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
|
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>gio.FileEnumerator</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="PyGObject Reference Manual"><link rel="up" href="gio-class-reference.html" title="PyGio Class Reference"><link rel="prev" href="class-giofileattributeinfo.html" title="gio.FileAttributeInfo"><link rel="next" href="class-giofileicon.html" title="gio.FileIcon"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">gio.FileEnumerator</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="class-giofileattributeinfo.html">Prev</a> </td><th width="60%" align="center">PyGio Class Reference</th><td width="20%" align="right"> <a accesskey="n" href="class-giofileicon.html">Next</a></td></tr></table><hr></div><div class="refentry" title="gio.FileEnumerator"><a name="class-giofileenumerator"></a><div class="titlepage"></div><div class="refnamediv"><h2>gio.FileEnumerator</h2><p>gio.FileEnumerator — Enumerated Files Routines.</p></div><div class="refsect1" title="Synopsis"><a name="id715599"></a><h2>Synopsis</h2><table bgcolor="#D0E0F0" width="100%"><tr><td><pre class="classsynopsis">class <span class="ooclass"><span class="classname">gio.FileEnumerator</span></span>(<span class="ooclass"><span class="classname"><a class="link" href="class-gobject.html" title="gobject.GObject">gobject.GObject</a></span></span>):
<code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close" title="gio.FileEnumerator.close">close</a></span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close-async" title="gio.FileEnumerator.close_async">close_async</a></span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>callback</code></strong></span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>io_priority</code></strong></span><span class="initializer">=glib.PRIORITY_DEFAULT</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>user_data</code></strong></span><span class="initializer">=None</span></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close-finish" title="gio.FileEnumerator.close_finish">close_finish</a></span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>result</code></strong></span></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--get-container" title="gio.FileEnumerator.get_container">get_container</a></span>(<span class="methodparam"></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--has-pending" title="gio.FileEnumerator.has_pending">has_pending</a></span>(<span class="methodparam"></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--is-closed" title="gio.FileEnumerator.is_closed">is_closed</a></span>(<span class="methodparam"></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--next-file" title="gio.FileEnumerator.next_file">next_file</a></span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--next-files-async" title="gio.FileEnumerator.next_files_async">next_files_async</a></span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>num_files</code></strong></span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>callback</code></strong></span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>io_priority</code></strong></span><span class="initializer">=glib.PRIORITY_DEFAULT</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>user_data</code></strong></span><span class="initializer">=None</span></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--next-files-finish" title="gio.FileEnumerator.next_files_finish">next_files_finish</a></span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>result</code></strong></span></span>)</code><br><code class="methodsynopsis"> def <span class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--set-pending" title="gio.FileEnumerator.set_pending">set_pending</a></span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>pending</code></strong></span></span>)</code><br></pre></td></tr></table></div><div class="refsect1" title="Ancestry"><a name="id719247"></a><h2>Ancestry</h2><pre class="synopsis">+-- <a class="link" href="class-gobject.html" title="gobject.GObject">gobject.GObject</a>
+-- <a class="link" href="class-giofileenumerator.html" title="gio.FileEnumerator">gio.FileEnumerator</a>
</pre></div><div class="refsect1" title="gio.FileEnumerator Properties"><a name="properties-giofileenumerator"></a><h2>gio.FileEnumerator Properties</h2><div class="blockquote"><table width="100%" border="0" bgcolor="#E0E0E0"><tr><td valign="top"><div class="informaltable"><table width="100%" border="0"><colgroup><col width="1in"><col width="1in"><col width="4in"></colgroup><tbody><tr valign="top"><td valign="top">"container"</td><td valign="top">Write - Construct only</td><td valign="top">The container that is being enumerated.</td></tr></tbody></table></div></td></tr></table></div></div><div class="refsect1" title="Description"><a name="id696126"></a><h2>Description</h2><p>
The <a class="link" href="class-giofileenumerator.html" title="gio.FileEnumerator"><code class="classname">gio.FileEnumerator</code></a>
allows you to operate on a set of
<a class="link" href="class-giofile.html" title="gio.File"><code class="classname">gio.File</code></a>s
returning a
<a class="link" href="class-giofileinfo.html" title="gio.FileInfo"><code class="classname">gio.FileInfo</code></a>
structure for each file enumerated (e.g.
<code class="methodname"><a class="link" href="class-giofile.html#method-giofile--enumerate-children" title="gio.File.enumerate_children">gio.File.enumerate_children</a></code>()
will return a The <a class="link" href="class-giofileenumerator.html" title="gio.FileEnumerator"><code class="classname">gio.FileEnumerator</code></a>
for each of the children within a directory).
</p><p>
To get the next file's information from a
The <a class="link" href="class-giofileenumerator.html" title="gio.FileEnumerator"><code class="classname">gio.FileEnumerator</code></a> use
<code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--next-file" title="gio.FileEnumerator.next_file">gio.FileEnumerator.next_file</a></code>()
or its asynchronous version,
<code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--next-files-async" title="gio.FileEnumerator.next_files_async">gio.FileEnumerator.next_files_async</a></code>().
Note that the asynchronous version will return a list of
<a class="link" href="class-giofileinfo.html" title="gio.FileInfo"><code class="classname">gio.FileInfo</code></a>s,
whereas the synchronous will only return the next file in the enumerator.
</p><p>
To close a <a class="link" href="class-giofileenumerator.html" title="gio.FileEnumerator"><code class="classname">gio.FileEnumerator</code></a>
use <code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close" title="gio.FileEnumerator.close">close</a></code>,
or its asynchronous version,
<code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close-async" title="gio.FileEnumerator.close_async">close_async</a></code>.
Once a <a class="link" href="class-giofileenumerator.html" title="gio.FileEnumerator"><code class="classname">gio.FileEnumerator</code></a>
is closed, no further actions may be performed on it.
</p></div><div class="refsect1" title="Methods"><a name="id693532"></a><h2>Methods</h2><div class="refsect2" title="gio.FileEnumerator.close"><a name="method-giofileenumerator--close"></a><h3>gio.FileEnumerator.close</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">close</span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><strong class="parameter"><code>cancellable</code></strong> :</span></p></td><td>Optional
<a class="link" href="class-giocancellable.html" title="gio.Cancellable"><code class="classname">gio.Cancellable</code></a>
object, <code class="literal">None</code> to ignore.
</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td><code class="literal">True</code> on success or
<code class="literal">False</code> on error.
</td></tr></tbody></table><p>
The <code class="methodname">close</code>() method releases all resources used by this
enumerator, making the
<a class="xref" href="gio-constants.html#gio-error-constants" title="Gio Error Constants">Gio Error Constants</a>
return gio.ERROR_CLOSED on all calls.
</p><p>
This will be automatically called when the last reference is dropped,
but you might want to call this function to make sure resources are released
as early as possible.
</p></div><div class="refsect2" title="gio.FileEnumerator.close_async"><a name="method-giofileenumerator--close-async"></a><h3>gio.FileEnumerator.close_async</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">close_async</span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>callback</code></strong></span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>io_priority</code></strong></span><span class="initializer">=glib.PRIORITY_DEFAULT</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>user_data</code></strong></span><span class="initializer">=None</span></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><strong class="parameter"><code>callback</code></strong> :</span></p></td><td>A GAsyncReadyCallback to call when the request is satisfied.
</td></tr><tr><td><p><span class="term"><strong class="parameter"><code>io_priority</code></strong> :</span></p></td><td>The
<a class="xref" href="glib-constants.html#glib-priority-constants" title="Glib Priority Constants">Glib Priority Constants</a> of the request.
</td></tr><tr><td><p><span class="term"><strong class="parameter"><code>cancellable</code></strong> :</span></p></td><td>Optional
<a class="link" href="class-giocancellable.html" title="gio.Cancellable"><code class="classname">gio.Cancellable</code></a>
object, <code class="literal">None</code> to ignore.
</td></tr><tr><td><p><span class="term"><strong class="parameter"><code>user_data</code></strong> :</span></p></td><td>The data to pass to callback function.
</td></tr></tbody></table><p>
The <code class="methodname">close_async</code>() method asynchronously closes the file enumerator.
</p><p>
If cancellable is not <code class="literal">None</code>, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation was cancelled,
the error gio.ERROR_CANCELLED will be returned in
<code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close-finish" title="gio.FileEnumerator.close_finish">gio.FileEnumerator.close_finish</a></code>().
</p></div><div class="refsect2" title="gio.FileEnumerator.close_finish"><a name="method-giofileenumerator--close-finish"></a><h3>gio.FileEnumerator.close_finish</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">close_finish</span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>result</code></strong></span></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><strong class="parameter"><code>result</code></strong> :</span></p></td><td>a GAsyncResult.
</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td><code class="literal">True</code> if the close operation
has finished successfully.</td></tr></tbody></table><p>
The <code class="methodname">close_finish</code>() method finishes closing a file enumerator, started from
<code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close-async" title="gio.FileEnumerator.close_async">gio.FileEnumerator.close_async</a></code>().
</p><p>
If the file enumerator was already closed when
<code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--close-async" title="gio.FileEnumerator.close_async">gio.FileEnumerator.close_async</a></code>()
was called, then this function will report gio.ERROR_CLOSED in error, and return <code class="literal">False</code>.
If the file enumerator had pending operation when the close operation was started, then this function will report
gio.ERROR_PENDING, and return <code class="literal">False</code>. If cancellable was not <code class="literal">None</code>, then the operation
may have been cancelled by triggering the cancellable object from another thread. If the operation was cancelled,
the error gio.ERROR_CANCELLED will be set, and <code class="literal">False</code> will be returned.
</p></div><div class="refsect2" title="gio.FileEnumerator.get_container"><a name="method-giofileenumerator--get-container"></a><h3>gio.FileEnumerator.get_container</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">get_container</span>(<span class="methodparam"></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td>the <a class="link" href="class-giofile.html" title="gio.File"><code class="classname">gio.File</code></a>
which is being enumerated. </td></tr></tbody></table><p>
The <code class="methodname">get_container</code>() method gets the
<a class="link" href="class-giofile.html" title="gio.File"><code class="classname">gio.File</code></a>
container which is being enumerated.
</p></div><div class="refsect2" title="gio.FileEnumerator.has_pending"><a name="method-giofileenumerator--has-pending"></a><h3>gio.FileEnumerator.has_pending</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">has_pending</span>(<span class="methodparam"></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td><code class="literal">True</code> if the enumerator has pending operations.</td></tr></tbody></table><p>
The <code class="methodname">has_pending</code>() method checks if the file enumerator has pending operations.
</p></div><div class="refsect2" title="gio.FileEnumerator.is_closed"><a name="method-giofileenumerator--is-closed"></a><h3>gio.FileEnumerator.is_closed</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">is_closed</span>(<span class="methodparam"></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td><code class="literal">True</code> if the enumerator is closed.</td></tr></tbody></table><p>
The <code class="methodname">is_closed</code>() method checks if the file enumerator has been closed.
</p></div><div class="refsect2" title="gio.FileEnumerator.next_file"><a name="method-giofileenumerator--next-file"></a><h3>gio.FileEnumerator.next_file</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">next_file</span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><strong class="parameter"><code>cancellable</code></strong> :</span></p></td><td>Optional
<a class="link" href="class-giocancellable.html" title="gio.Cancellable"><code class="classname">gio.Cancellable</code></a>
object, <code class="literal">None</code> to ignore.
</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td>A <a class="link" href="class-giofileinfo.html" title="gio.FileInfo"><code class="classname">gio.FileInfo</code></a>
or <code class="literal">None</code> on error or end of enumerator.
</td></tr></tbody></table><p>
The <code class="methodname">next_file</code>() method returns information for the next
file in the enumerated object. Will block until the information is available.
The <a class="link" href="class-giofileinfo.html" title="gio.FileInfo"><code class="classname">gio.FileInfo</code></a>
returned from this function will contain attributes that match the attribute string
that was passed when the GFileEnumerator was created.
</p><p>
On error, returns <code class="literal">None</code> and sets error to the error. If the enumerator
is at the end, <code class="literal">None</code> will be returned and error will be unset.
</p></div><div class="refsect2" title="gio.FileEnumerator.next_files_async"><a name="method-giofileenumerator--next-files-async"></a><h3>gio.FileEnumerator.next_files_async</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">next_files_async</span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>num_files</code></strong></span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>callback</code></strong></span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>io_priority</code></strong></span><span class="initializer">=glib.PRIORITY_DEFAULT</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>cancellable</code></strong></span><span class="initializer">=None</span></span>, <span class="methodparam"><span class="parameter"><strong class="parameter"><code>user_data</code></strong></span><span class="initializer">=None</span></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><strong class="parameter"><code>num_files</code></strong> :</span></p></td><td>The number of file info objects to request.
</td></tr><tr><td><p><span class="term"><strong class="parameter"><code>callback</code></strong> :</span></p></td><td>A GAsyncReadyCallback to call when the request is satisfied.
</td></tr><tr><td><p><span class="term"><strong class="parameter"><code>io_priority</code></strong> :</span></p></td><td>The
<a class="xref" href="glib-constants.html#glib-priority-constants" title="Glib Priority Constants">Glib Priority Constants</a> of the request.
</td></tr><tr><td><p><span class="term"><strong class="parameter"><code>cancellable</code></strong> :</span></p></td><td>Optional
<a class="link" href="class-giocancellable.html" title="gio.Cancellable"><code class="classname">gio.Cancellable</code></a>
object, <code class="literal">None</code> to ignore.
</td></tr><tr><td><p><span class="term"><strong class="parameter"><code>user_data</code></strong> :</span></p></td><td>The data to pass to callback function.
</td></tr></tbody></table><p>
The <code class="methodname">next_files_async</code>() method requests information for a number
of files from the enumerator asynchronously. When all i/o for the operation is finished
the callback will be called with the requested information.
</p><p>
The callback can be called with less than num_files files in case of error or at the
end of the enumerator. In case of a partial error the callback will be called with any
succeeding items and no error, and on the next request the error will be reported. If a
request is cancelled the callback will be called with gio.ERROR_CANCELLED.
</p><p>
During an async request no other sync and async calls are allowed, and will result in gio.ERROR_PENDING errors.
</p><p>
Any outstanding i/o request with higher priority (lower numerical value) will be executed
before an outstanding request with lower priority. Default priority is glib.PRIORITY_DEFAULT.
</p></div><div class="refsect2" title="gio.FileEnumerator.next_files_finish"><a name="method-giofileenumerator--next-files-finish"></a><h3>gio.FileEnumerator.next_files_finish</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">next_files_finish</span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>result</code></strong></span></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><strong class="parameter"><code>result</code></strong> :</span></p></td><td>a GAsyncResult.
</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td>A list of
<a class="link" href="class-giofileinfo.html" title="gio.FileInfo"><code class="classname">gio.FileInfo</code></a>s.
</td></tr></tbody></table><p>
The <code class="methodname">next_files_finish</code>() method finishes the
asynchronous operation started with
<code class="methodname"><a class="link" href="class-giofileenumerator.html#method-giofileenumerator--next-files-async" title="gio.FileEnumerator.next_files_async">gio.FileEnumerator.next_files_async</a></code>().
</p></div><div class="refsect2" title="gio.FileEnumerator.set_pending"><a name="method-giofileenumerator--set-pending"></a><h3>gio.FileEnumerator.set_pending</h3><pre class="programlisting"><code class="methodsynopsis"> def <span class="methodname">set_pending</span>(<span class="methodparam"><span class="parameter"><strong class="parameter"><code>pending</code></strong></span></span>)</code></pre><table border="0" width="100%" bgcolor="#FFECCE"><col align="left" valign="top" width="0*"><tbody><tr><td><p><span class="term"><strong class="parameter"><code>pending</code></strong> :</span></p></td><td>A boolean value.
</td></tr></tbody></table><p>
The <code class="methodname">push_current</code>() method sets the file enumerator as having pending operations.
</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="class-giofileattributeinfo.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="gio-class-reference.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="class-giofileicon.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">gio.FileAttributeInfo </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> gio.FileIcon</td></tr></table></div></body></html>
|