'Create a ZipArchive, treating the archive at archivePathname as a zip
file.
@param archivePathname: a L{bytes} or L{unicode}, naming a path in the
filesystem.'

def __init__(self, archivePathname):

    self.path = archivePathname
    self.zipfile = ZipFile(_coerceToFilesystemEncoding('', archivePathname))
    self.pathInArchive = _coerceToFilesystemEncoding(archivePathname, '')
    self.childmap = {}
    for name in self.zipfile.namelist():
        name = _coerceToFilesystemEncoding(self.path, name).split(self.sep)
        for x in range(len(name)):
            child = name[(- x)]
            parent = self.sep.join(name[:(- x)])
            if (parent not in self.childmap):
                self.childmap[parent] = {}
            self.childmap[parent][child] = 1
        parent = _coerceToFilesystemEncoding(archivePathname, '')
