コード例 #1
0
    def open_for_reading(self):
        """
        open blob for reading

        returns a file like object that can be read() from, and closed() when
        finished
        """
        if self._verified is True:
            f = open(self.file_path, 'rb')
            reader = HashBlobReader(f, self.reader_finished)
            self.readers += 1
            return reader
        return None
コード例 #2
0
ファイル: blob_file.py プロジェクト: lazycrazyowl/lbry
    def read(self, write_func):
        def close_self(*args):
            self.close_read_handle(file_handle)
            return args[0]

        file_sender = FileSender()
        reader = HashBlobReader(write_func)
        file_handle = self.open_for_reading()
        if file_handle is not None:
            d = file_sender.beginFileTransfer(file_handle, reader)
            d.addCallback(close_self)
        else:
            d = defer.fail(IOError("Could not read the blob"))
        return d