<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>Python: module ranger.fsobject.directory</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head><body bgcolor="#f0f0f8"> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> <tr bgcolor="#7799ee"> <td valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.fsobject.html"><font color="#ffffff">fsobject</font></a>.directory</strong></big></big></font></td ><td align=right valign=bottom ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/work/ranger/ranger/fsobject/directory.py">/home/hut/work/ranger/ranger/fsobject/directory.py</a></font></td></tr></table> <p><tt># Copyright (c) 2009, 2010 hut <hut@lavabit.com><br> #<br> # Permission to use, copy, modify, and/or distribute this software for any<br> # purpose with or without fee is hereby granted, provided that the above<br> # copyright notice and this permission notice appear in all copies.<br> #<br> # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES<br> # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF<br> # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR<br> # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES<br> # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN<br> # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF<br> # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</tt></p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#aa55cc"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="os.html">os</a><br> </td><td width="25%" valign=top><a href="ranger.html">ranger</a><br> </td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ee77aa"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> <td width="100%"><dl> <dt><font face="helvetica, arial"><a href="builtins.html#Exception">builtins.Exception</a>(<a href="builtins.html#BaseException">builtins.BaseException</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.fsobject.directory.html#NoDirectoryGiven">NoDirectoryGiven</a> </font></dt></dl> </dd> <dt><font face="helvetica, arial"><a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>(<a href="builtins.html#object">builtins.object</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.fsobject.directory.html#Directory">Directory</a>(<a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>, <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>) </font></dt></dl> </dd> <dt><font face="helvetica, arial"><a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>(<a href="ranger.shared.mimetype.html#MimeTypeAware">ranger.shared.mimetype.MimeTypeAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.fsobject.directory.html#Directory">Directory</a>(<a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>, <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>) </font></dt></dl> </dd> <dt><font face="helvetica, arial"><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>(<a href="builtins.html#object">builtins.object</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.fsobject.directory.html#Directory">Directory</a>(<a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>, <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>) </font></dt></dl> </dd> </dl> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="Directory">class <strong>Directory</strong></a>(<a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>, <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>, <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>)</font></td></tr> <tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td> <td width="100%"><dl><dt>Method resolution order:</dt> <dd><a href="ranger.fsobject.directory.html#Directory">Directory</a></dd> <dd><a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a></dd> <dd><a href="ranger.shared.mimetype.html#MimeTypeAware">ranger.shared.mimetype.MimeTypeAware</a></dd> <dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd> <dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd> <dd><a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a></dd> <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd> <dd><a href="builtins.html#object">builtins.object</a></dd> </dl> <hr> Methods defined here:<br> <dl><dt><a name="Directory-__eq__"><strong>__eq__</strong></a>(self, other)</dt><dd><tt>Check for equality of the directories paths</tt></dd></dl> <dl><dt><a name="Directory-__getitem__"><strong>__getitem__</strong></a>(self, key)</dt><dd><tt>Get the file by its index</tt></dd></dl> <dl><dt><a name="Directory-__hash__"><strong>__hash__</strong></a>(self)</dt></dl> <dl><dt><a name="Directory-__init__"><strong>__init__</strong></a>(self, path)</dt></dl> <dl><dt><a name="Directory-__len__"><strong>__len__</strong></a>(self)</dt><dd><tt>The number of containing files</tt></dd></dl> <dl><dt><a name="Directory-__neq__"><strong>__neq__</strong></a>(self, other)</dt><dd><tt>Check for inequality of the directories paths</tt></dd></dl> <dl><dt><a name="Directory-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always True</tt></dd></dl> <dl><dt><a name="Directory-correct_pointer"><strong>correct_pointer</strong></a>(self)</dt><dd><tt>Make sure the pointer is in the valid range</tt></dd></dl> <dl><dt><a name="Directory-cycle"><strong>cycle</strong></a>(self, forward<font color="#909090">=True</font>)</dt></dl> <dl><dt><a name="Directory-empty"><strong>empty</strong></a>(self)</dt><dd><tt>Is the directory empty?</tt></dd></dl> <dl><dt><a name="Directory-get_list"><strong>get_list</strong></a>(self)</dt></dl> <dl><dt><a name="Directory-get_selection"><strong>get_selection</strong></a>(self)</dt><dd><tt>READ ONLY</tt></dd></dl> <dl><dt><a name="Directory-load_bit_by_bit"><strong>load_bit_by_bit</strong></a>(self)</dt><dd><tt>Returns a generator which load a part of the directory<br> in each iteration.</tt></dd></dl> <dl><dt><a name="Directory-load_content"><strong>load_content</strong></a>(self, schedule<font color="#909090">=None</font>)</dt><dd><tt>Loads the contents of the directory. Use this sparingly since<br> it takes rather long.</tt></dd></dl> <dl><dt><a name="Directory-load_content_if_outdated"><strong>load_content_if_outdated</strong></a>(self, *a, **k)</dt><dd><tt>Load the contents of the directory if it's<br> outdated or not done yet</tt></dd></dl> <dl><dt><a name="Directory-load_content_once"><strong>load_content_once</strong></a>(self, *a, **k)</dt><dd><tt>Load the contents of the directory if not done yet</tt></dd></dl> <dl><dt><a name="Directory-mark_all"><strong>mark_all</strong></a>(self, val)</dt></dl> <dl><dt><a name="Directory-mark_item"><strong>mark_item</strong></a>(self, item, val)</dt></dl> <dl><dt><a name="Directory-move_to_obj"><strong>move_to_obj</strong></a>(self, arg)</dt></dl> <dl><dt><a name="Directory-search_fnc"><strong>search_fnc</strong></a>(self, fnc, forward<font color="#909090">=True</font>)</dt></dl> <dl><dt><a name="Directory-set_cycle_list"><strong>set_cycle_list</strong></a>(self, lst)</dt></dl> <dl><dt><a name="Directory-sort"><strong>sort</strong></a>(self)</dt><dd><tt>Sort the containing files</tt></dd></dl> <dl><dt><a name="Directory-sort_if_outdated"><strong>sort_if_outdated</strong></a>(self)</dt><dd><tt>Sort the containing files if they are outdated</tt></dd></dl> <dl><dt><a name="Directory-toggle_all_marks"><strong>toggle_all_marks</strong></a>(self)</dt></dl> <dl><dt><a name="Directory-toggle_mark"><strong>toggle_mark</strong></a>(self, item)</dt></dl> <dl><dt><a name="Directory-unload"><strong>unload</strong></a>(self)</dt></dl> <hr> Data and other attributes defined here:<br> <dl><dt><strong>cycle_list</strong> = None</dl> <dl><dt><strong>enterable</strong> = False</dl> <dl><dt><strong>filenames</strong> = None</dl> <dl><dt><strong>files</strong> = None</dl> <dl><dt><strong>filter</strong> = None</dl> <dl><dt><strong>last_update_time</strong> = -1</dl> <dl><dt><strong>load_content_mtime</strong> = -1</dl> <dl><dt><strong>load_generator</strong> = None</dl> <dl><dt><strong>loading</strong> = False</dl> <dl><dt><strong>marked_items</strong> = None</dl> <dl><dt><strong>old_directories_first</strong> = None</dl> <dl><dt><strong>old_filter</strong> = None</dl> <dl><dt><strong>old_reverse</strong> = None</dl> <dl><dt><strong>old_show_hidden</strong> = None</dl> <dl><dt><strong>old_sort</strong> = None</dl> <dl><dt><strong>scroll_begin</strong> = 0</dl> <dl><dt><strong>scroll_offset</strong> = 0</dl> <dl><dt><strong>sort_dict</strong> = {'basename': <function sort_by_basename at 0x7f28d0ab3160>, 'mtime': <function <lambda> at 0x7f28d0ab37c0>, 'size': <function <lambda> at 0x7f28d0ab3738>, 'type': <function <lambda> at 0x7f28d0ab3848>}</dl> <hr> Methods inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br> <dl><dt><a name="Directory-__str__"><strong>__str__</strong></a>(self)</dt><dd><tt>returns a string containing the absolute path</tt></dd></dl> <dl><dt><a name="Directory-get_description"><strong>get_description</strong></a>(self)</dt></dl> <dl><dt><a name="Directory-get_permission_string"><strong>get_permission_string</strong></a>(self)</dt></dl> <dl><dt><a name="Directory-go"><strong>go</strong></a>(self)</dt><dd><tt>enter the directory if the filemanager is running</tt></dd></dl> <dl><dt><a name="Directory-is_older_than"><strong>is_older_than</strong></a>(self, seconds)</dt><dd><tt>returns whether this object wasn't <a href="#Directory-use">use</a>()d in the last n seconds</tt></dd></dl> <dl><dt><a name="Directory-load"><strong>load</strong></a>(self)</dt><dd><tt>reads useful information about the filesystem-object from the<br> filesystem and caches it for later use</tt></dd></dl> <dl><dt><a name="Directory-load_if_outdated"><strong>load_if_outdated</strong></a>(self)</dt><dd><tt>Calls <a href="#Directory-load">load</a>() if the currently cached information is outdated<br> or nonexistant.</tt></dd></dl> <dl><dt><a name="Directory-load_once"><strong>load_once</strong></a>(self)</dt><dd><tt>calls <a href="#Directory-load">load</a>() if it has not been called at least once yet</tt></dd></dl> <dl><dt><a name="Directory-mark"><strong>mark</strong></a>(self, boolean)</dt></dl> <dl><dt><a name="Directory-set_mimetype"><strong>set_mimetype</strong></a>(self)</dt><dd><tt>assign attributes such as self.<strong>video</strong> according to the mimetype</tt></dd></dl> <dl><dt><a name="Directory-use"><strong>use</strong></a>(self)</dt><dd><tt>mark the filesystem-object as used at the current time</tt></dd></dl> <hr> Data and other attributes inherited from <a href="ranger.fsobject.fsobject.html#FileSystemObject">ranger.fsobject.fsobject.FileSystemObject</a>:<br> <dl><dt><strong>accessible</strong> = False</dl> <dl><dt><strong>audio</strong> = False</dl> <dl><dt><strong>basename</strong> = None</dl> <dl><dt><strong>basename_lower</strong> = None</dl> <dl><dt><strong>container</strong> = False</dl> <dl><dt><strong>content_loaded</strong> = False</dl> <dl><dt><strong>dirname</strong> = None</dl> <dl><dt><strong>document</strong> = False</dl> <dl><dt><strong>exists</strong> = False</dl> <dl><dt><strong>extension</strong> = None</dl> <dl><dt><strong>force_load</strong> = False</dl> <dl><dt><strong>image</strong> = False</dl> <dl><dt><strong>infostring</strong> = None</dl> <dl><dt><strong>islink</strong> = False</dl> <dl><dt><strong>last_used</strong> = None</dl> <dl><dt><strong>loaded</strong> = False</dl> <dl><dt><strong>marked</strong> = False</dl> <dl><dt><strong>media</strong> = False</dl> <dl><dt><strong>mimetype_tuple</strong> = ()</dl> <dl><dt><strong>path</strong> = None</dl> <dl><dt><strong>permissions</strong> = None</dl> <dl><dt><strong>readlink</strong> = None</dl> <dl><dt><strong>runnable</strong> = False</dl> <dl><dt><strong>size</strong> = 0</dl> <dl><dt><strong>stat</strong> = None</dl> <dl><dt><strong>stopped</strong> = False</dl> <dl><dt><strong>tagged</strong> = False</dl> <dl><dt><strong>type</strong> = 'unknown'</dl> <dl><dt><strong>video</strong> = False</dl> <hr> Data descriptors inherited from <a href="ranger.shared.mimetype.html#MimeTypeAware">ranger.shared.mimetype.MimeTypeAware</a>:<br> <dl><dt><strong>__dict__</strong></dt> <dd><tt>dictionary for instance variables (if defined)</tt></dd> </dl> <dl><dt><strong>__weakref__</strong></dt> <dd><tt>list of weak references to the object (if defined)</tt></dd> </dl> <hr> Data and other attributes inherited from <a href="ranger.shared.mimetype.html#MimeTypeAware">ranger.shared.mimetype.MimeTypeAware</a>:<br> <dl><dt><strong>mimetypes</strong> = {}</dl> <hr> Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br> <dl><dt><strong>fm</strong> = None</dl> <hr> Methods inherited from <a href="ranger.ext.accumulator.html#Accumulator">ranger.ext.accumulator.Accumulator</a>:<br> <dl><dt><a name="Directory-get_height"><strong>get_height</strong></a>(self)</dt><dd><tt>OVERRIDE THIS</tt></dd></dl> <dl><dt><a name="Directory-move"><strong>move</strong></a>(self, relative<font color="#909090">=0</font>, absolute<font color="#909090">=None</font>, pages<font color="#909090">=None</font>, narg<font color="#909090">=None</font>)</dt></dl> <dl><dt><a name="Directory-pointer_is_synced"><strong>pointer_is_synced</strong></a>(self)</dt></dl> <dl><dt><a name="Directory-sync_index"><strong>sync_index</strong></a>(self, **kw)</dt></dl> <hr> Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br> <dl><dt><strong>settings</strong> = <ranger.ext.openstruct.OpenStruct object at 0x7f28d0aa5bd0></dl> </td></tr></table> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="NoDirectoryGiven">class <strong>NoDirectoryGiven</strong></a>(<a href="builtins.html#Exception">builtins.Exception</a>)</font></td></tr> <tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td> <td width="100%"><dl><dt>Method resolution order:</dt> <dd><a href="ranger.fsobject.directory.html#NoDirectoryGiven">NoDirectoryGiven</a></dd> <dd><a href="builtins.html#Exception">builtins.Exception</a></dd> <dd><a href="builtins.html#BaseException">builtins.BaseException</a></dd> <dd><a href="builtins.html#object">builtins.object</a></dd> </dl> <hr> Data descriptors defined here:<br> <dl><dt><strong>__weakref__</strong></dt> <dd><tt>list of weak references to the object (if defined)</tt></dd> </dl> <hr> Methods inherited from <a href="builtins.html#Exception">builtins.Exception</a>:<br> <dl><dt><a name="NoDirectoryGiven-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#NoDirectoryGiven-__init__">__init__</a>(...) initializes x; see x.__class__.__doc__ for signature</tt></dd></dl> <hr> Data and other attributes inherited from <a href="builtins.html#Exception">builtins.Exception</a>:<br> <dl><dt><strong>__new__</strong> = <built-in method __new__ of type object at 0x7f28d265e120><dd><tt>T.<a href="#NoDirectoryGiven-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl> <hr> Methods inherited from <a href="builtins.html#BaseException">builtins.BaseException</a>:<br> <dl><dt><a name="NoDirectoryGiven-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#NoDirectoryGiven-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl> <dl><dt><a name="NoDirectoryGiven-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#NoDirectoryGiven-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl> <dl><dt><a name="NoDirectoryGiven-__reduce__"><strong>__reduce__</strong></a>(...)</dt></dl> <dl><dt><a name="NoDirectoryGiven-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#NoDirectoryGiven-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl> <dl><dt><a name="NoDirectoryGiven-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#NoDirectoryGiven-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl> <dl><dt><a name="NoDirectoryGiven-__setstate__"><strong>__setstate__</strong></a>(...)</dt></dl> <dl><dt><a name="NoDirectoryGiven-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#NoDirectoryGiven-__str__">__str__</a>() <==> str(x)</tt></dd></dl> <dl><dt><a name="NoDirectoryGiven-with_traceback"><strong>with_traceback</strong></a>(...)</dt><dd><tt><a href="builtins.html#Exception">Exception</a>.<a href="#NoDirectoryGiven-with_traceback">with_traceback</a>(tb) --<br> set self.<strong>__traceback__</strong> to tb and return self.</tt></dd></dl> <hr> Data descriptors inherited from <a href="builtins.html#BaseException">builtins.BaseException</a>:<br> <dl><dt><strong>__cause__</strong></dt> <dd><tt>exception cause</tt></dd> </dl> <dl><dt><strong>__context__</strong></dt> <dd><tt>exception context</tt></dd> </dl> <dl><dt><strong>__dict__</strong></dt> </dl> <dl><dt><strong>__traceback__</strong></dt> </dl> <dl><dt><strong>args</strong></dt> </dl> </td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#eeaa77"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td> <td width="100%"><dl><dt><a name="-sort_by_basename"><strong>sort_by_basename</strong></a>(path)</dt><dd><tt>returns path.basename (for sorting)</tt></dd></dl> <dl><dt><a name="-sort_by_directory"><strong>sort_by_directory</strong></a>(path)</dt><dd><tt>returns 0 if path is a directory, otherwise 1 (for sorting)</tt></dd></dl> <dl><dt><a name="-time"><strong>time</strong></a>(...)</dt><dd><tt><a href="#-time">time</a>() -> floating point number<br> <br> Return the current time in seconds since the Epoch.<br> Fractions of a second may be present if the system clock provides them.</tt></dd></dl> </td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#55aa55"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> <td width="100%"><strong>BAD_INFO</strong> = None</td></tr></table> </body></html>