Merge pull request #16 from Ernest0x/fix_repository_errors

Added missing repository path/url when raising DoesNotExist and AlreadyExists exceptions
This commit is contained in:
Jonas Borgström 2013-12-17 07:59:03 -08:00
commit e9fd2bc5e8
2 changed files with 7 additions and 5 deletions

View File

@ -71,6 +71,7 @@ class RemoteRepository(object):
self.name = name
def __init__(self, location, create=False):
self.repository_url = '%s@%s:%s' % (location.user, location.host, location.path)
self.p = None
self.cache = LRUCache(256)
self.to_send = b''
@ -105,9 +106,9 @@ class RemoteRepository(object):
self.id = self.call('open', (location.path, create))
except self.RPCError as e:
if e.name == b'DoesNotExist':
raise Repository.DoesNotExist
raise Repository.DoesNotExist(self.repository_url)
elif e.name == b'AlreadyExists':
raise Repository.AlreadyExists
raise Repository.AlreadyExists(self.repository_url)
def __del__(self):
self.close()
@ -247,7 +248,7 @@ class RemoteRepository(object):
return res
except self.RPCError as e:
if e.name == b'DoesNotExist':
raise Repository.DoesNotExist
raise Repository.DoesNotExist(self.repository_url)
raise
def get_many(self, ids, peek=None):

View File

@ -41,6 +41,7 @@ class Repository(object):
def __init__(self, path, create=False):
self.path = path
self.io = None
self.lock = None
if create:
@ -216,7 +217,7 @@ class Repository(object):
segment, offset = self.index[id]
return self.io.read(segment, offset, id)
except KeyError:
raise self.DoesNotExist
raise self.DoesNotExist(self.path)
def get_many(self, ids, peek=None):
for id in ids:
@ -254,7 +255,7 @@ class Repository(object):
self.compact.add(segment)
self.segments.setdefault(segment, 0)
except KeyError:
raise self.DoesNotExist
raise self.DoesNotExist(self.path)
def add_callback(self, cb, data):
cb(None, None, data)