1
0
Fork 0
mirror of https://github.com/morpheus65535/bazarr synced 2024-12-30 19:46:25 +00:00
bazarr/libs/subzero/lib/rar.py
2018-10-31 17:08:29 +01:00

25 lines
640 B
Python

# coding=utf-8
import logging
import rarfile
log = logging.getLogger(__name__)
class RarFile(rarfile.RarFile):
def read(self, fname, psw=None):
"""
read specific content of rarfile without parsing
:param fname:
:param psw:
:return:
"""
cmd = [rarfile.UNRAR_TOOL] + list(rarfile.ORIG_OPEN_ARGS)
with rarfile.XTempFile(self._rarfile) as rf:
log.debug(u"RAR CMD: %s", cmd + [rf, fname])
p = rarfile.custom_popen(cmd + [rf, fname])
output = p.communicate()[0]
rarfile.check_returncode(p, output)
return output