root / docstrings / pyinotify.ProcessEvent-class.html

Revision f7cd60146b00bdffd25b207639d1d2fb326a2174, 18.7 kB (checked in by Sebastien Martini <ookoi@…>, 5 months ago)

- Documentation updated.
- Version 0.8.0t released.

  • Property mode set to 100644
Line 
1<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3          "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6  <title>pyinotify.ProcessEvent</title>
7  <link rel="stylesheet" href="epydoc.css" type="text/css" />
8  <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12      alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15       bgcolor="#a0c0ff" cellspacing="0">
16  <tr valign="middle">
17  <!-- Home link -->
18      <th>&nbsp;&nbsp;&nbsp;<a
19        href="pyinotify-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21  <!-- Tree link -->
22      <th>&nbsp;&nbsp;&nbsp;<a
23        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25  <!-- Index link -->
26      <th>&nbsp;&nbsp;&nbsp;<a
27        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29  <!-- Help link -->
30      <th>&nbsp;&nbsp;&nbsp;<a
31        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
33      <th class="navbar" width="100%"></th>
34  </tr>
35</table>
36<table width="100%" cellpadding="0" cellspacing="0">
37  <tr valign="top">
38    <td width="100%">
39      <span class="breadcrumbs">
40        <a href="pyinotify-module.html">Module&nbsp;pyinotify</a> ::
41        Class&nbsp;ProcessEvent
42      </span>
43    </td>
44    <td>
45      <table cellpadding="0" cellspacing="0">
46        <!-- hide/show private -->
47        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
48    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
49        <tr><td align="right"><span class="options"
50            >[<a href="frames.html" target="_top">frames</a
51            >]&nbsp;|&nbsp;<a href="pyinotify.ProcessEvent-class.html"
52            target="_top">no&nbsp;frames</a>]</span></td></tr>
53      </table>
54    </td>
55  </tr>
56</table>
57<!-- ==================== CLASS DESCRIPTION ==================== -->
58<h1 class="epydoc">Class ProcessEvent</h1><span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent">source&nbsp;code</a></span><br /><br />
59<center>
60<center>  <map id="uml_class_diagram_for_pyinotif_13" name="uml_class_diagram_for_pyinotif_13">
61<area shape="rect" href="pyinotify._ProcessEvent&#45;class.html#__repr__" title="repr(x)" alt="" coords="79,36,167,54"/>
62<area shape="rect" href="pyinotify._ProcessEvent&#45;class.html" title="Abstract processing event class." alt="" coords="77,10,168,56"/>
63<area shape="rect" href="pyinotify.ProcessEvent&#45;class.html#pevent" title="pyinotify.ProcessEvent.pevent" alt="" coords="17,102,228,121"/>
64<area shape="rect" href="pyinotify.ProcessEvent&#45;class.html#my_init" title="Override this method when subclassing if you want to achieve custom  initialization of your subclass&#39; instance." alt="" coords="17,124,228,142"/>
65<area shape="rect" href="pyinotify.ProcessEvent&#45;class.html#nested_pevent" title="pyinotify.ProcessEvent.nested_pevent" alt="" coords="17,142,228,161"/>
66<area shape="rect" href="pyinotify.ProcessEvent&#45;class.html#process_default" title="Default default processing event method." alt="" coords="17,161,228,180"/>
67<area shape="rect" href="pyinotify.ProcessEvent&#45;class.html#__call__" title="To behave like a functor the object must be callable." alt="" coords="17,180,228,198"/>
68<area shape="rect" href="pyinotify.ProcessEvent&#45;class.html#__init__" title="Enable chaining of ProcessEvent instances." alt="" coords="17,198,228,217"/>
69<area shape="rect" href="pyinotify.ProcessEvent&#45;class.html" title="Process events objects, can be specialized via subclassing, thus its behavior can be overriden:" alt="" coords="16,85,229,218"/>
70<area shape="rect" href="pyinotify.ChainIf&#45;class.html" title="Makes conditional chaining depending on the result of the nested processing instance." alt="" coords="47,248,100,274"/>
71<area shape="rect" href="pyinotify.Stats&#45;class.html" title="pyinotify.Stats" alt="" coords="151,248,196,274"/>
72</map>
73  <img src="uml_class_diagram_for_pyinotif_13.gif" alt='' usemap="#uml_class_diagram_for_pyinotif_13" ismap="ismap" class="graph-without-title" />
74</center></center>
75<hr />
76<p>Process events objects, can be specialized via subclassing, thus its
77  behavior can be overriden:</p>
78  Note: you should not override __init__ in your subclass instead define
79  a my_init() method, this method will be called from the constructor of
80  this class with optional parameters.
81  <ol start="1">
82    <li>
83      Provide methods, e.g. process_IN_DELETE for processing a given
84      kind of event (eg. IN_DELETE in this case).
85    </li>
86    <li>
87      Or/and provide methods for processing events by 'family', e.g.
88      process_IN_CLOSE method will process both IN_CLOSE_WRITE and
89      IN_CLOSE_NOWRITE events (if process_IN_CLOSE_WRITE and
90      process_IN_CLOSE_NOWRITE aren't defined).
91    </li>
92    <li>
93      Or/and override process_default for processing the remaining kind
94      of events.
95    </li>
96  </ol><br /><br />
97
98<!-- ==================== INSTANCE METHODS ==================== -->
99<a name="section-InstanceMethods"></a>
100<table class="summary" border="1" cellpadding="3"
101       cellspacing="0" width="100%" bgcolor="white">
102<tr bgcolor="#70b0f0" class="table-header">
103  <td colspan="2" class="table-header">
104    <table border="0" cellpadding="0" cellspacing="0" width="100%">
105      <tr valign="top">
106        <td align="left"><span class="table-header">Instance Methods</span></td>
107        <td align="right" valign="top"
108         ><span class="options">[<a href="#section-InstanceMethods"
109         class="privatelink" onclick="toggle_private();"
110         >hide private</a>]</span></td>
111      </tr>
112    </table>
113  </td>
114</tr>
115<tr>
116    <td width="15%" align="right" valign="top" class="summary">
117      <span class="summary-type">&nbsp;</span>
118    </td><td class="summary">
119      <table width="100%" cellpadding="0" cellspacing="0" border="0">
120        <tr>
121          <td><span class="summary-sig"><a href="pyinotify.ProcessEvent-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
122        <span class="summary-sig-arg">pevent</span>=<span class="summary-sig-default">None</span>,
123        <span class="summary-sig-arg">**kargs</span>)</span><br />
124      Enable chaining of ProcessEvent instances.</td>
125          <td align="right" valign="top">
126            <span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.__init__">source&nbsp;code</a></span>
127           
128          </td>
129        </tr>
130      </table>
131     
132    </td>
133  </tr>
134<tr>
135    <td width="15%" align="right" valign="top" class="summary">
136      <span class="summary-type">&nbsp;</span>
137    </td><td class="summary">
138      <table width="100%" cellpadding="0" cellspacing="0" border="0">
139        <tr>
140          <td><span class="summary-sig"><a href="pyinotify.ProcessEvent-class.html#my_init" class="summary-sig-name">my_init</a>(<span class="summary-sig-arg">self</span>,
141        <span class="summary-sig-arg">**kargs</span>)</span><br />
142      Override this method when subclassing if you want to achieve
143      custom initialization of your subclass' instance.</td>
144          <td align="right" valign="top">
145            <span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.my_init">source&nbsp;code</a></span>
146           
147          </td>
148        </tr>
149      </table>
150     
151    </td>
152  </tr>
153<tr>
154    <td width="15%" align="right" valign="top" class="summary">
155      <span class="summary-type">bool</span>
156    </td><td class="summary">
157      <table width="100%" cellpadding="0" cellspacing="0" border="0">
158        <tr>
159          <td><span class="summary-sig"><a href="pyinotify.ProcessEvent-class.html#__call__" class="summary-sig-name">__call__</a>(<span class="summary-sig-arg">self</span>,
160        <span class="summary-sig-arg">event</span>)</span><br />
161      To behave like a functor the object must be callable.</td>
162          <td align="right" valign="top">
163            <span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.__call__">source&nbsp;code</a></span>
164           
165          </td>
166        </tr>
167      </table>
168     
169    </td>
170  </tr>
171<tr>
172    <td width="15%" align="right" valign="top" class="summary">
173      <span class="summary-type">&nbsp;</span>
174    </td><td class="summary">
175      <table width="100%" cellpadding="0" cellspacing="0" border="0">
176        <tr>
177          <td><span class="summary-sig"><a name="nested_pevent"></a><span class="summary-sig-name">nested_pevent</span>(<span class="summary-sig-arg">self</span>)</span></td>
178          <td align="right" valign="top">
179            <span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.nested_pevent">source&nbsp;code</a></span>
180           
181          </td>
182        </tr>
183      </table>
184     
185    </td>
186  </tr>
187<tr>
188    <td width="15%" align="right" valign="top" class="summary">
189      <span class="summary-type">&nbsp;</span>
190    </td><td class="summary">
191      <table width="100%" cellpadding="0" cellspacing="0" border="0">
192        <tr>
193          <td><span class="summary-sig"><a href="pyinotify.ProcessEvent-class.html#process_default" class="summary-sig-name">process_default</a>(<span class="summary-sig-arg">self</span>,
194        <span class="summary-sig-arg">event</span>)</span><br />
195      Default default processing event method.</td>
196          <td align="right" valign="top">
197            <span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.process_default">source&nbsp;code</a></span>
198           
199          </td>
200        </tr>
201      </table>
202     
203    </td>
204  </tr>
205  <tr>
206    <td colspan="2" class="summary">
207    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="pyinotify._ProcessEvent-class.html">_ProcessEvent</a></code></b>:
208      <code><a href="pyinotify._ProcessEvent-class.html#__repr__">__repr__</a></code>
209      </p>
210    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
211      <code>__delattr__</code>,
212      <code>__getattribute__</code>,
213      <code>__hash__</code>,
214      <code>__new__</code>,
215      <code>__reduce__</code>,
216      <code>__reduce_ex__</code>,
217      <code>__setattr__</code>,
218      <code>__str__</code>
219      </p>
220    </td>
221  </tr>
222</table>
223<!-- ==================== CLASS VARIABLES ==================== -->
224<a name="section-ClassVariables"></a>
225<table class="summary" border="1" cellpadding="3"
226       cellspacing="0" width="100%" bgcolor="white">
227<tr bgcolor="#70b0f0" class="table-header">
228  <td colspan="2" class="table-header">
229    <table border="0" cellpadding="0" cellspacing="0" width="100%">
230      <tr valign="top">
231        <td align="left"><span class="table-header">Class Variables</span></td>
232        <td align="right" valign="top"
233         ><span class="options">[<a href="#section-ClassVariables"
234         class="privatelink" onclick="toggle_private();"
235         >hide private</a>]</span></td>
236      </tr>
237    </table>
238  </td>
239</tr>
240<tr>
241    <td width="15%" align="right" valign="top" class="summary">
242      <span class="summary-type">&nbsp;</span>
243    </td><td class="summary">
244        <a name="pevent"></a><span class="summary-name">pevent</span> = <code title="None">None</code>
245    </td>
246  </tr>
247</table>
248<!-- ==================== PROPERTIES ==================== -->
249<a name="section-Properties"></a>
250<table class="summary" border="1" cellpadding="3"
251       cellspacing="0" width="100%" bgcolor="white">
252<tr bgcolor="#70b0f0" class="table-header">
253  <td colspan="2" class="table-header">
254    <table border="0" cellpadding="0" cellspacing="0" width="100%">
255      <tr valign="top">
256        <td align="left"><span class="table-header">Properties</span></td>
257        <td align="right" valign="top"
258         ><span class="options">[<a href="#section-Properties"
259         class="privatelink" onclick="toggle_private();"
260         >hide private</a>]</span></td>
261      </tr>
262    </table>
263  </td>
264</tr>
265  <tr>
266    <td colspan="2" class="summary">
267    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
268      <code>__class__</code>
269      </p>
270    </td>
271  </tr>
272</table>
273<!-- ==================== METHOD DETAILS ==================== -->
274<a name="section-MethodDetails"></a>
275<table class="details" border="1" cellpadding="3"
276       cellspacing="0" width="100%" bgcolor="white">
277<tr bgcolor="#70b0f0" class="table-header">
278  <td colspan="2" class="table-header">
279    <table border="0" cellpadding="0" cellspacing="0" width="100%">
280      <tr valign="top">
281        <td align="left"><span class="table-header">Method Details</span></td>
282        <td align="right" valign="top"
283         ><span class="options">[<a href="#section-MethodDetails"
284         class="privatelink" onclick="toggle_private();"
285         >hide private</a>]</span></td>
286      </tr>
287    </table>
288  </td>
289</tr>
290</table>
291<a name="__init__"></a>
292<div>
293<table class="details" border="1" cellpadding="3"
294       cellspacing="0" width="100%" bgcolor="white">
295<tr><td>
296  <table width="100%" cellpadding="0" cellspacing="0" border="0">
297  <tr valign="top"><td>
298  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
299        <span class="sig-arg">pevent</span>=<span class="sig-default">None</span>,
300        <span class="sig-arg">**kargs</span>)</span>
301    <br /><em class="fname">(Constructor)</em>
302  </h3>
303  </td><td align="right" valign="top"
304    ><span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.__init__">source&nbsp;code</a></span>&nbsp;
305    </td>
306  </table>
307 
308  Enable chaining of ProcessEvent instances.
309  <dl class="fields">
310    <dt>Parameters:</dt>
311    <dd><ul class="nomargin-top">
312        <li><strong class="pname"><code>pevent</code></strong> (callable) - optional callable object, will be called on event processing
313          (before self).</li>
314        <li><strong class="pname"><code>kargs</code></strong> (dict) - optional arguments delagated to template method my_init</li>
315    </ul></dd>
316    <dt>Overrides:
317      object.__init__
318    </dt>
319  </dl>
320</td></tr></table>
321</div>
322<a name="my_init"></a>
323<div>
324<table class="details" border="1" cellpadding="3"
325       cellspacing="0" width="100%" bgcolor="white">
326<tr><td>
327  <table width="100%" cellpadding="0" cellspacing="0" border="0">
328  <tr valign="top"><td>
329  <h3 class="epydoc"><span class="sig"><span class="sig-name">my_init</span>(<span class="sig-arg">self</span>,
330        <span class="sig-arg">**kargs</span>)</span>
331  </h3>
332  </td><td align="right" valign="top"
333    ><span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.my_init">source&nbsp;code</a></span>&nbsp;
334    </td>
335  </table>
336 
337  Override this method when subclassing if you want to achieve custom
338  initialization of your subclass' instance. You MUST pass keyword
339  arguments. This method does nothing by default.
340  <dl class="fields">
341    <dt>Parameters:</dt>
342    <dd><ul class="nomargin-top">
343        <li><strong class="pname"><code>kargs</code></strong> (dict) - optional arguments delagated to template method my_init</li>
344    </ul></dd>
345  </dl>
346</td></tr></table>
347</div>
348<a name="__call__"></a>
349<div>
350<table class="details" border="1" cellpadding="3"
351       cellspacing="0" width="100%" bgcolor="white">
352<tr><td>
353  <table width="100%" cellpadding="0" cellspacing="0" border="0">
354  <tr valign="top"><td>
355  <h3 class="epydoc"><span class="sig"><span class="sig-name">__call__</span>(<span class="sig-arg">self</span>,
356        <span class="sig-arg">event</span>)</span>
357    <br /><em class="fname">(Call operator)</em>
358  </h3>
359  </td><td align="right" valign="top"
360    ><span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.__call__">source&nbsp;code</a></span>&nbsp;
361    </td>
362  </table>
363 
364  To behave like a functor the object must be callable. This method is a
365  dispatch method. Lookup order:
366  <ol start="1">
367    <li>
368      process_MASKNAME method
369    </li>
370    <li>
371      process_FAMILY_NAME method
372    </li>
373    <li>
374      otherwise call process_default
375    </li>
376  </ol>
377  <dl class="fields">
378    <dt>Returns: bool</dt>
379        <dd>By convention when used from the ProcessEvent class:
380          <ul>
381            <li>
382              Returning False or None (default value) means keep on
383              executing next chained functors (see chain.py example).
384            </li>
385            <li>
386              Returning True instead means do not execute next
387              processing functions.
388            </li>
389          </ul></dd>
390    <dt>Overrides:
391      <a href="pyinotify._ProcessEvent-class.html#__call__">_ProcessEvent.__call__</a>
392        <dd><em class="note">(inherited documentation)</em></dd>
393    </dt>
394  </dl>
395</td></tr></table>
396</div>
397<a name="process_default"></a>
398<div>
399<table class="details" border="1" cellpadding="3"
400       cellspacing="0" width="100%" bgcolor="white">
401<tr><td>
402  <table width="100%" cellpadding="0" cellspacing="0" border="0">
403  <tr valign="top"><td>
404  <h3 class="epydoc"><span class="sig"><span class="sig-name">process_default</span>(<span class="sig-arg">self</span>,
405        <span class="sig-arg">event</span>)</span>
406  </h3>
407  </td><td align="right" valign="top"
408    ><span class="codelink"><a href="pyinotify-pysrc.html#ProcessEvent.process_default">source&nbsp;code</a></span>&nbsp;
409    </td>
410  </table>
411 
412  Default default processing event method. Print event on standart
413  output.
414  <dl class="fields">
415    <dt>Parameters:</dt>
416    <dd><ul class="nomargin-top">
417        <li><strong class="pname"><code>event</code></strong> (Event instance) - Event to be processed.</li>
418    </ul></dd>
419  </dl>
420</td></tr></table>
421</div>
422<br />
423<!-- ==================== NAVIGATION BAR ==================== -->
424<table class="navbar" border="0" width="100%" cellpadding="0"
425       bgcolor="#a0c0ff" cellspacing="0">
426  <tr valign="middle">
427  <!-- Home link -->
428      <th>&nbsp;&nbsp;&nbsp;<a
429