Кодировка zipfile python
имеется вот такой код(ниже) он читает зип файл с кодировкой cp437, мне нужно реализовать так, чтобы код читал и с кодировкой cp866, допустим:
если файл с кодировкой cp437 выполняется данный отрывок
def unpack_zipfile(filename, extract_dir, encoding='cp437'):
with zipfile.ZipFile(filename) as archive:
for entry in archive.infolist():
name = entry.filename.encode('cp437').decode(encoding) # reencode!!!
#don't extract absolute paths or ones with .. in them
if name.startswith('/') or '..' in name:
continue
target = os.path.join(extract_dir, *name.split('/'))
os.makedirs(os.path.dirname(target), exist_ok=True)
if not entry.is_dir(): # file
with archive.open(entry) as source, open(target, 'wb') as dest:
shutil.copyfileobj(source, dest)
os.mkdir(f'{g}')
unpack_zipfile(filename, f'{g}', encoding='cp866')
а если файл с кодировкой cp866, то выполняется тоже самое но с этой кодировкой,
как реализовать данный метод через оператор if elif