""" This module defines all the standard Image drivers within PyFlag """ import pyflag.IO as IO import pyflag.DB as DB from FlagFramework import query_type import pyflag.FlagFramework as FlagFramework import sk,re,os,os.path,posixpath import pyflag.conf config=pyflag.conf.ConfObject() import bisect filename_re = re.compile("(.+?)(\d+)$") class OffsettedFDFile: def __init__(self, fds, offset): self.fds = fds self.offset = offset self.readptr = 0 ## This stores the offset at the begining of each file start = 0 self.offsets = [] for fd in fds: self.offsets.append(start) try: size = fd.size except AttributeError: fd.seek(0,2) size =fd.tell() start += size self.offsets.append(start) self.size = start self.seek(offset) def seek(self, offset, whence=0): """ fake seeking routine """ readptr = self.readptr if whence==0: readptr = offset + self.offset elif whence==1: readptr += offset elif whence==2: readptr = self.size if readptr