예제 #1
0
    def seek(self,offset,rel=None):
        File.seek(self,offset,rel)

        if self.cached_fd: return

        ## If we were asked to seek in a gzip file:
        if self.readptr!=0:
            pyflaglog.log(pyflaglog.VERBOSE_DEBUG,"Asked to seek to %s in gzip file %s. This is expensive, caching on disk." % (self.readptr, self.inode))
            self.cache()

            self.seek(offset,rel)

        ## Force a new decompressor when rereading:
        self.gz = None
예제 #2
0
    def seek(self, offset, rel=None):
        File.seek(self,offset,rel)

        if self.cached_fd: return

        if self.readptr == 0:
            self.init()

        ## We want to reinitialise the file pointer:
        elif self.readptr!=0 and self.type == Zip.ZIP_DEFLATED:
            pyflaglog.log(pyflaglog.VERBOSE_DEBUG, "Required to seek to offset %s in Zip File %s (%s,%s). This is inefficient, forcing disk caching." % (self.readptr, self.inode, offset,rel))
            self.init()
            self.cache()

            self.seek(offset, rel)
            return
예제 #3
0
    def seek(self, offset, rel=None):
        File.seek(self,offset,rel)

        if self.cached_fd: return
        self.skfd.seek(self.readptr, slack=self.slack, overread=self.overread)