def __init__(self, filename):
        MultiThreadDump.__init__(self)
        zip_file = ZipFile(filename, 'r')

        for child_name in zip_file.namelist():
            lines = zip_file.open(child_name, 'r')
            self.thread_dumps[child_name] = ThreadDump(lines)
    def __init__(self, filename):
        MultiThreadDump.__init__(self)

        if filename[-2:] == 'gz':
            tar_file = TarFile(filename, 'r:gz')
        else:
            tar_file = TarFile(filename, 'r')

        for member in tar_file.getmembers():
            if member.isfile():
                tar_member = tar_file.extractfile(member)
                child_name = tar_member.name

                lines = tar_member.readlines()
                self.thread_dumps[child_name] = ThreadDump(lines)
    def __init__(self, foldername):
        MultiThreadDump.__init__(self)

        for filename in os.listdir(foldername):
            lines = open(foldername + '/' + filename, 'r')
            self.thread_dumps[filename] = ThreadDump(lines)