コード例 #1
0
ファイル: io_base.py プロジェクト: agmanish143/pycosio
    def __init__(self, name, mode='r'):
        IOBase.__init__(self)

        self._name = fsdecode(name)
        self._mode = mode

        # Thread safe stream position
        self._seek = 0
        self._seek_lock = Lock()

        # Cache for values
        self._cache = {}

        # Set to True once file is closed
        self._closed = False

        # Select supported features based on mode
        self._writable = False
        self._readable = False
        self._seekable = True

        if 'w' in mode or 'a' in mode or 'x' in mode:
            self._writable = True

        elif 'r' in mode:
            self._readable = True

        else:
            raise ValueError('Invalid mode "%s"' % mode)
コード例 #2
0
ファイル: io_base.py プロジェクト: JGoutin/airfs
    def __init__(self, name, mode="r"):
        IOBase.__init__(self)

        self._name = fsdecode(name)
        self._mode = mode
        self._seek = 0
        self._seek_lock = Lock()
        self._cache = {}
        self._closed = False
        self._writable = False
        self._readable = False
        self._seekable = True

        if "w" in mode or "a" in mode or "x" in mode:
            self._writable = True

        elif "r" in mode:
            self._readable = True

        else:
            raise ValueError(f'Invalid mode "{mode}"')
コード例 #3
0
 def __init__(self, url, name=None, requests_session=None, timeout=30):
     IOBase.__init__(self)
     self.url = url
     self.sess = requests_session if requests_session is not None else requests.session(
     )
     self._seekable = False
     self.timeout = timeout
     f = self.sess.head(url, headers={'Range': 'bytes=0-'}, timeout=timeout)
     if f.status_code == 206 and 'Content-Range' in f.headers:
         self._seekable = True
     self.len = int(f.headers["Content-Length"])
     if name is None:
         if "Content-Disposition" in f.headers:
             value, params = cgi.parse_header(
                 f.headers["Content-Disposition"])
             if "filename" in params:
                 self.name = params["filename"]
     else:
         self.name = name
     f.close()
     self._pos = 0
     self._r = None