.. 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 `. Note that the handlers are shared by all instances of :ref:`wx.FileSystem`. | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class FileSystemHandler:
| |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`