def __init__(self, path, strict=False): """ :param path: Packed SIPS file path """ self.path = path self.parser = get_parser(self.path)(strict=strict) if not zipfile.is_zipfile(self.path): logger.error("File %s is not a zip file", self.path) raise zipfile.BadZipfile self.fd = zipfile.ZipFile(self.path) self.parser = get_parser(self.path)() self.files = iter(self.fd.namelist()) self.stats = PackedSipsFileStats(os.stat(path).st_size, len(self.fd.namelist()))
def test_name_pattern(self): for dso in self.SIPS_DATA: sips_file = self.SIPS_DATA[dso]['file'] parser = get_parser(sips_file) path = '.'.join([parser.__module__, parser.__name__]) self.assertEquals( COMPANY_PARSERS[dso], path )
def __init__(self, path, fd=None, parser=None, strict=False, resume=None): self.path = path self.resume_line_number = 0 if parser is None: self.parser = get_parser(self.path)(strict=strict) else: self.parser = parser if fd is None: self.fd = open(path, "r") self.stats = SipsFileStats(os.fstat(self.fd.fileno()).st_size) else: self.fd = fd if resume: assert isinstance(resume, SipsFileStats) self.stats = resume self.resume_line_number = self.stats.line_number self.stats.line_number = 0