mercurial/archival.py
changeset 36732 7f9a6f5f7612
parent 36731 abf252a1c938
child 36749 009da8c28e4d
equal deleted inserted replaced
36731:abf252a1c938 36732:7f9a6f5f7612
   166                     name, pycompat.sysstr(mode), gzfileobj)
   166                     name, pycompat.sysstr(mode), gzfileobj)
   167             else:
   167             else:
   168                 return tarfile.open(
   168                 return tarfile.open(
   169                     name, pycompat.sysstr(mode + kind), fileobj)
   169                     name, pycompat.sysstr(mode + kind), fileobj)
   170 
   170 
   171         if isinstance(dest, str):
   171         if isinstance(dest, bytes):
   172             self.z = taropen('w:', name=dest)
   172             self.z = taropen('w:', name=dest)
   173         else:
   173         else:
   174             self.z = taropen('w|', fileobj=dest)
   174             self.z = taropen('w|', fileobj=dest)
   175 
   175 
   176     def addfile(self, name, mode, islink, data):
   176     def addfile(self, name, mode, islink, data):
   215 class zipit(object):
   215 class zipit(object):
   216     '''write archive to zip file or stream.  can write uncompressed,
   216     '''write archive to zip file or stream.  can write uncompressed,
   217     or compressed with deflate.'''
   217     or compressed with deflate.'''
   218 
   218 
   219     def __init__(self, dest, mtime, compress=True):
   219     def __init__(self, dest, mtime, compress=True):
   220         if not isinstance(dest, str):
   220         if not isinstance(dest, bytes):
   221             try:
   221             try:
   222                 dest.tell()
   222                 dest.tell()
   223             except (AttributeError, IOError):
   223             except (AttributeError, IOError):
   224                 dest = tellable(dest)
   224                 dest = tellable(dest)
   225         self.z = zipfile.ZipFile(pycompat.fsdecode(dest), r'w',
   225         self.z = zipfile.ZipFile(pycompat.fsdecode(dest), r'w',