.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.FSFile:

==========================================================================================================================================
|phoenix_title|  **wx.FSFile**
==========================================================================================================================================

This class represents a single file opened by :ref:`wx.FileSystem`.          

It provides more information than wxWidgets' input streams (stream, filename, mime type, anchor). 







         



.. note:: 

   Any pointer returned by a method of :ref:`wx.FSFile`  is valid only as long as the :ref:`wx.FSFile`  object exists. For example a call to :meth:`GetStream`   doesn't `create`  the stream but only returns the pointer to it. In other words after 10 calls to :meth:`GetStream`   you will have obtained ten identical pointers.  







.. seealso:: :ref:`wx.FileSystemHandler`, :ref:`wx.FileSystem`, :ref:`FileSystem Overview <filesystem overview>`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>FSFile</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.FSFile_inheritance.png" alt="Inheritance diagram of FSFile" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.FSFile.html" title="wx.FSFile" alt="" coords="7,83,90,112"/> <area shape="rect" id="node2" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.FSFile.__init__`                                                      Constructor.
:meth:`~wx.FSFile.DetachStream`                                                  Detaches the stream from the :ref:`wx.FSFile`  object.
:meth:`~wx.FSFile.GetAnchor`                                                     Returns anchor (if present).
:meth:`~wx.FSFile.GetLocation`                                                   Returns full location of the file, including path and protocol.
:meth:`~wx.FSFile.GetMimeType`                                                   Returns the MIME type of the content of this file.
:meth:`~wx.FSFile.GetModificationTime`                                           Returns time when this file was modified.
:meth:`~wx.FSFile.GetStream`                                                     Returns pointer to the stream.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.FSFile.Anchor`                                                        See :meth:`~wx.FSFile.GetAnchor`
:attr:`~wx.FSFile.Location`                                                      See :meth:`~wx.FSFile.GetLocation`
:attr:`~wx.FSFile.MimeType`                                                      See :meth:`~wx.FSFile.GetMimeType`
:attr:`~wx.FSFile.ModificationTime`                                              See :meth:`~wx.FSFile.GetModificationTime`
:attr:`~wx.FSFile.Stream`                                                        See :meth:`~wx.FSFile.GetStream`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.FSFile(Object)

   **Possible constructors**::

       FSFile(stream, location, mimetype, anchor, modif)
       
   
   This class represents a single file opened by FileSystem.



   .. method:: __init__(self, stream, location, mimetype, anchor, modif)

      Constructor.                  

      You probably won't use it. See the Note for details. 

      It is seldom used by the application programmer but you will need it if you are writing your own virtual ``FS``. For example you may need something similar to :ref:`MemoryInputStream`, but because :ref:`MemoryInputStream`  doesn't free the memory when destroyed and thus passing a memory stream pointer into :ref:`wx.FSFile`  constructor would lead to memory leaks, you can write your own class derived from :ref:`wx.FSFile`: 

      ::

                  class MyFSFile(wx.FSFile):

                      def __init__(self):

                          wx.FSFile.__init__(self)



      If you are not sure of the meaning of these params, see the description of the GetXXXX() functions. 




      :param `stream`: The input stream that will be used to access data   
      :type `stream`: wx.InputStream
      :param `location`: The full location (aka filename) of the file   
      :type `location`: string
      :param `mimetype`: MIME type of this file. It may be left empty, in which case the type will be determined from file's extension (location must not be empty in this case).   
      :type `mimetype`: string
      :param `anchor`: Anchor. See :meth:`GetAnchor`   for details.   
      :type `anchor`: string
      :param `modif`: Modification date and time for this file.   
      :type `modif`: wx.DateTime












                  





   .. method:: DetachStream(self)

      Detaches the stream from the :ref:`wx.FSFile`  object.                  

      That is, the stream obtained with :meth:`GetStream`   will continue its existence after the :ref:`wx.FSFile`  object is deleted. 

      You will have to delete the stream yourself.                  

      :rtype: :ref:`wx.InputStream`








   .. method:: GetAnchor(self)

      Returns anchor (if present).                  

      The term of **anchor**  can be easily explained using few examples: 



      Usually an anchor is presented only if the MIME type is 'text/html'. But it may have some meaning with other files; for example myanim.avi#200 may refer to position in animation or `reality.wrl.MyView` may refer to a predefined view in ``VRML``.                  

      :rtype: `string`








   .. method:: GetLocation(self)

      Returns full location of the file, including path and protocol.                  

      Examples:                  

      :rtype: `string`








   .. method:: GetMimeType(self)

      Returns the MIME type of the content of this file.                  

      It is either extension-based (see :ref:`wx.MimeTypesManager`) or extracted from ``HTTP`` protocol Content-Type header.                  

      :rtype: `string`








   .. method:: GetModificationTime(self)

      Returns time when this file was modified.                  

      :rtype: :ref:`wx.DateTime`








   .. method:: GetStream(self)

      Returns pointer to the stream.                  

      You can use the returned stream to directly access data. You may suppose that the stream provide Seek and GetSize functionality (even in the case of the ``HTTP`` protocol which doesn't provide this by default. Html uses local cache to work around this and to speed up the connection).                  

      :rtype: :ref:`wx.InputStream`








   .. attribute:: Anchor

      See :meth:`~wx.FSFile.GetAnchor`


   .. attribute:: Location

      See :meth:`~wx.FSFile.GetLocation`


   .. attribute:: MimeType

      See :meth:`~wx.FSFile.GetMimeType`


   .. attribute:: ModificationTime

      See :meth:`~wx.FSFile.GetModificationTime`


   .. attribute:: Stream

      See :meth:`~wx.FSFile.GetStream`

