.. 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.FileSystemHandler:

==========================================================================================================================================
|phoenix_title|  **wx.FileSystemHandler**
==========================================================================================================================================

Classes derived from :ref:`wx.FileSystemHandler`  are used to access virtual file systems.          

Its public interface consists of two methods: :meth:`wx.FileSystemHandler.CanOpen`   and :meth:`wx.FileSystemHandler.OpenFile` . 

It provides additional protected methods to simplify the process of opening the file: :meth:`~wx.FileSystemHandler.GetProtocol`, :meth:`~wx.FileSystemHandler.GetLeftLocation`, :meth:`~wx.FileSystemHandler.GetRightLocation`, :meth:`~wx.FileSystemHandler.GetAnchor`, :meth:`~wx.FileSystemHandler.GetMimeTypeFromExt`. 

Please have a look at overview (see :ref:`wx.FileSystem`) if you don't know how locations are constructed. 

Also consult the :ref:`list of available handlers <list of available handlers>`. 

Note that the handlers are shared by all instances of :ref:`wx.FileSystem`. 





|

|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>FileSystemHandler</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.FileSystemHandler_inheritance.png" alt="Inheritance diagram of FileSystemHandler" 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.FileSystemHandler.html" title="wx.FileSystemHandler" alt="" coords="5,83,172,112"/> <area shape="rect" id="node2" href="wx.Object.html" title="wx.Object" alt="" coords="45,5,132,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.ArchiveFSHandler`, :ref:`wx.FilterFSHandler`, :ref:`wx.InternetFSHandler`, :ref:`wx.MemoryFSHandler`

|


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

================================================================================ ================================================================================
:meth:`~wx.FileSystemHandler.__init__`                                           Constructor.
:meth:`~wx.FileSystemHandler.CanOpen`                                            Returns ``True`` if the handler is able to open this file.
:meth:`~wx.FileSystemHandler.FindFirst`                                          Works like :meth:`~FileSystemHandler.FindFirstFile` .
:meth:`~wx.FileSystemHandler.FindNext`                                           Returns next filename that matches parameters passed to :meth:`wx.FileSystem.FindFirst` .
:meth:`~wx.FileSystemHandler.GetAnchor`                                          Returns the anchor if present in the location.
:meth:`~wx.FileSystemHandler.GetLeftLocation`                                    Returns the left location string extracted from `location`.
:meth:`~wx.FileSystemHandler.GetMimeTypeFromExt`                                 Returns the MIME type based on **extension**  of `location`.
:meth:`~wx.FileSystemHandler.GetProtocol`                                        Returns the protocol string extracted from `location`.
:meth:`~wx.FileSystemHandler.GetRightLocation`                                   Returns the right location string extracted from `location`.
:meth:`~wx.FileSystemHandler.OpenFile`                                           Opens the file and returns :ref:`wx.FSFile`  pointer or ``None`` if failed.
================================================================================ ================================================================================


|


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


.. class:: wx.FileSystemHandler(Object)

   **Possible constructors**::

       FileSystemHandler()
       
   
   Classes derived from FileSystemHandler are used to access virtual
   file systems.



   .. method:: __init__(self)

      Constructor.                   





   .. method:: CanOpen(self, location)

      Returns ``True`` if the handler is able to open this file.                  

      This function doesn't check whether the file exists or not, it only checks if it knows the protocol. Example: 

      ::

                  def CanOpen(self, location):

                      return self.GetProtocol(location) == "http"



      Must be overridden in derived handlers.                  


      :param `location`: 
      :type `location`: string




      :rtype: `bool`








   .. method:: FindFirst(self, wildcard, flags=0)

      Works like :meth:`FindFirstFile` .                  

      Returns the name of the first filename (within filesystem's current path) that matches `wildcard`. `flags`  may be one of ``FILE`` (only files), ``DIR`` (only directories) or 0 (both). 

      This method is only called if :meth:`CanOpen`   returns ``True``.                  


      :param `wildcard`: 
      :type `wildcard`: string
      :param `flags`: 
      :type `flags`: int




      :rtype: `string`








   .. method:: FindNext(self)

      Returns next filename that matches parameters passed to :meth:`wx.FileSystem.FindFirst` .                  

      This method is only called if :meth:`CanOpen`   returns ``True`` and :meth:`FindFirst`   returned a non-empty string.                  

      :rtype: `string`








   .. staticmethod:: GetAnchor(location)

      Returns the anchor if present in the location.                  

      See :meth:`wx.FSFile.GetAnchor`   for details. 

      Example: ::

          if self.GetAnchor("index.htm#chapter2") == "chapter2":
              DoSomething()



                


      :param `location`: 
      :type `location`: string




      :rtype: `string`







      .. note:: 

         the anchor is NOT part of the left location.   








   .. staticmethod:: GetLeftLocation(location)

      Returns the left location string extracted from `location`.                  

      Example: ::

          if self.GetLeftLocation("file:myzipfile.zip#zip:index.htm") == "file:myzipfile.zip":
              DoSomething()

                 


      :param `location`: 
      :type `location`: string




      :rtype: `string`








   .. staticmethod:: GetMimeTypeFromExt(location)

      Returns the MIME type based on **extension**  of `location`.                  

      (While :meth:`wx.FSFile.GetMimeType`   returns real MIME type - either extension-based or queried from ``HTTP``.) 

      Example: ::

                  if GetMimeTypeFromExt("index.htm") == "text/html":
                      wx.MessageBox("Is HTML!")

                 


      :param `location`: 
      :type `location`: string




      :rtype: `string`








   .. staticmethod:: GetProtocol(location)

      Returns the protocol string extracted from `location`.                  

      Example: ::

          if self.GetProtocol("file:myzipfile.zip#zip:index.htm") == "zip":
              UnzipFile(filename)

                 


      :param `location`: 
      :type `location`: string




      :rtype: `string`








   .. staticmethod:: GetRightLocation(location)

      Returns the right location string extracted from `location`.                  

      Example: ::

          if self.GetRightLocation("file:myzipfile.zip#zip:index.htm") == "index.htm":
              ReadHTML(filename)

                 


      :param `location`: 
      :type `location`: string




      :rtype: `string`








   .. method:: OpenFile(self, fs, location)

      Opens the file and returns :ref:`wx.FSFile`  pointer or ``None`` if failed.                  

      Must be overridden in derived handlers. 




      :param `fs`: Parent ``FS`` (the ``FS`` from that OpenFile was called). See the ``ZIP`` handler for details of how to use it.   
      :type `fs`: wx.FileSystem
      :param `location`: The absolute location of file.   
      :type `location`: string








      :rtype: :ref:`wx.FSFile`



                  




