| Server IP : 93.86.61.54 / Your IP : 216.73.216.156 Web Server : Apache/2.4.62 (Ubuntu) System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64 User : www-data ( 33) PHP Version : 8.4.22 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib/python3/dist-packages/fs/opener/ |
Upload File : |
# coding: utf-8
"""`Opener` abstract base class.
"""
import abc
import typing
import six
if typing.TYPE_CHECKING:
from typing import List, Text
from ..base import FS
from .parse import ParseResult
@six.add_metaclass(abc.ABCMeta)
class Opener(object):
"""The base class for filesystem openers.
An opener is responsible for opening a filesystem for a given
protocol.
"""
protocols = [] # type: List[Text]
def __repr__(self):
# type: () -> Text
return "<opener {!r}>".format(self.protocols)
@abc.abstractmethod
def open_fs(
self,
fs_url, # type: Text
parse_result, # type: ParseResult
writeable, # type: bool
create, # type: bool
cwd, # type: Text
):
# type: (...) -> FS
"""Open a filesystem object from a FS URL.
Arguments:
fs_url (str): A filesystem URL.
parse_result (~fs.opener.parse.ParseResult): A parsed
filesystem URL.
writeable (bool): `True` if the filesystem must be writable.
create (bool): `True` if the filesystem should be created
if it does not exist.
cwd (str): The current working directory (generally only
relevant for OS filesystems).
Raises:
fs.opener.errors.OpenerError: If a filesystem could not
be opened for any reason.
Returns:
`~fs.base.FS`: A filesystem instance.
"""