byte_int, bytes_from_byte, bytes_from_uint,
environ,
items,
+ pending_raise,
range,
reraise)
from bup.io import path_msg
return self
def __exit__(self, type, value, traceback):
- self.close()
+ with pending_raise(value, rethrow=False):
+ self.close()
def __len__(self):
return int(self.nsha) # int() from long for python 2
return self
def __exit__(self, type, value, traceback):
- self.close()
+ with pending_raise(value, rethrow=False):
+ self.close()
def __len__(self):
return int(self.nsha) # int() from long for python 2
return self
def __exit__(self, type, value, traceback):
- self.close()
+ with pending_raise(value, rethrow=False):
+ self.close()
def _open(self):
if not self.file:
import glob, os, struct
from bup import _helpers
-from bup.compat import range
+from bup.compat import pending_raise, range
from bup.helpers import log, mmap_read
from bup.io import path_msg
return self
def __exit__(self, type, value, traceback):
- self.close()
+ with pending_raise(value, rethrow=False):
+ self.close()
def _init_failed(self):
self.bits = 0
from functools import partial
from bup import client, git, vfs
-
+from bup.compat import pending_raise
_next_repo_id = 0
_repo_ids = {}
return self
def __exit__(self, type, value, traceback):
- self.close()
+ with pending_raise(value, rethrow=False):
+ self.close()
def id(self):
"""Return an identifier that differs from any other repository that
return self
def __exit__(self, type, value, traceback):
- self.close()
+ with pending_raise(value, rethrow=False):
+ self.close()
def id(self):
"""Return an identifier that differs from any other repository that
import re, sys
from bup import git, vint
-from bup.compat import hexstr, range, str_type
+from bup.compat import hexstr, pending_raise, range, str_type
from bup.git import BUP_CHUNKED, parse_commit, tree_decode
from bup.helpers import debug2, last
from bup.io import path_msg
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
- self.close()
- return False
+ with pending_raise(value, rethrow=False):
+ self.close()
_multiple_slashes_rx = re.compile(br'//+')