120
120
# base classes should override the docstring with their human-
121
121
# readable explanation
123
def __init__(self, *args, **kwds):
124
# XXX: Use the underlying BzrError to always generate the args attribute
125
# if it doesn't exist. We can't use super here, because exceptions are
126
# old-style classes in python2.4 (but new in 2.5). --bmc, 20060426
127
BzrError.__init__(self, *args)
123
def __init__(self, **kwds):
128
124
for key, value in kwds.items():
129
125
setattr(self, key, value)
131
127
def __str__(self):
133
# __str__() should always return a 'str' object
134
# never a 'unicode' object.
135
s = self.__doc__ % self.__dict__
136
if isinstance(s, unicode):
137
return s.encode('utf8')
139
except (TypeError, NameError, ValueError, KeyError), e:
140
return 'Unprintable exception %s(%r): %s' \
141
% (self.__class__.__name__,
142
self.__dict__, str(e))
145
class AlreadyBuilding(BzrNewError):
146
"""The tree builder is already building a tree."""
129
return self.__doc__ % self.__dict__
130
except (NameError, ValueError, KeyError), e:
131
return 'Unprintable exception %s: %s' \
132
% (self.__class__.__name__, str(e))
149
135
class BzrCheckError(BzrNewError):
297
265
PathError.__init__(self, url, extra=extra)
300
class ShortReadvError(PathError):
301
"""readv() read %(actual)s bytes rather than %(length)s bytes at %(offset)s for %(path)s%(extra)s"""
303
is_user_error = False
305
def __init__(self, path, offset, length, actual, extra=None):
306
PathError.__init__(self, path, extra=extra)
312
268
class PathNotChild(BzrNewError):
313
269
"""Path %(path)r is not a child of path %(base)r%(extra)s"""
348
304
(use bzr checkout if you wish to build a working tree): %(path)s"""
351
class AtomicFileAlreadyClosed(PathError):
352
"""'%(function)s' called on an AtomicFile after it was closed: %(path)s"""
354
def __init__(self, path, function):
355
PathError.__init__(self, path=path, extra=None)
356
self.function = function
359
class InaccessibleParent(PathError):
360
"""Parent not accessible given base %(base)s and relative path %(path)s"""
362
def __init__(self, path, base):
363
PathError.__init__(self, path)
367
307
class NoRepositoryPresent(BzrNewError):
368
308
"""No repository present: %(path)r"""
369
309
def __init__(self, bzrdir):
556
489
is_user_error = False
558
491
def __init__(self, branch, revision):
559
BzrNewError.__init__(self, branch=branch, revision=revision)
562
class NoSuchRevisionSpec(BzrNewError):
563
"""No namespace registered for string: %(spec)r"""
565
def __init__(self, spec):
566
BzrNewError.__init__(self, spec=spec)
569
class InvalidRevisionSpec(BzrNewError):
570
"""Requested revision: '%(spec)s' does not exist in branch:
571
%(branch)s%(extra)s"""
573
def __init__(self, spec, branch, extra=None):
574
BzrNewError.__init__(self, branch=branch, spec=spec)
576
self.extra = '\n' + str(extra)
493
self.revision = revision
581
496
class HistoryMissing(BzrError):
1029
930
self.format = format
1032
class BadConversionTarget(BzrNewError):
1033
"""Cannot convert to format %(format)s. %(problem)s"""
1035
def __init__(self, problem, format):
1036
BzrNewError.__init__(self)
1037
self.problem = problem
1038
self.format = format
1041
933
class NoDiff(BzrNewError):
1042
934
"""Diff is not installed on this machine: %(msg)s"""
1044
936
def __init__(self, msg):
1045
BzrNewError.__init__(self, msg=msg)
937
super(NoDiff, self).__init__(msg=msg)
1048
940
class NoDiff3(BzrNewError):
1153
1045
"""Not a bzr revision-bundle: %(text)r"""
1155
1047
def __init__(self, text):
1156
BzrNewError.__init__(self)
1160
class BadBundle(BzrNewError):
1161
"""Bad bzr revision-bundle: %(text)r"""
1163
def __init__(self, text):
1164
BzrNewError.__init__(self)
1168
class MalformedHeader(BadBundle):
1169
"""Malformed bzr revision-bundle header: %(text)r"""
1171
def __init__(self, text):
1172
BzrNewError.__init__(self)
1176
class MalformedPatches(BadBundle):
1177
"""Malformed patches in bzr revision-bundle: %(text)r"""
1179
def __init__(self, text):
1180
BzrNewError.__init__(self)
1184
class MalformedFooter(BadBundle):
1185
"""Malformed footer in bzr revision-bundle: %(text)r"""
1187
def __init__(self, text):
1188
BzrNewError.__init__(self)
1192
class UnsupportedEOLMarker(BadBundle):
1193
"""End of line marker was not \\n in bzr revision-bundle"""
1196
BzrNewError.__init__(self)
1199
class IncompatibleFormat(BzrNewError):
1200
"""Bundle format %(bundle_format)s is incompatible with %(other)s"""
1202
def __init__(self, bundle_format, other):
1203
BzrNewError.__init__(self)
1204
self.bundle_format = bundle_format
1208
class BadInventoryFormat(BzrNewError):
1209
"""Root class for inventory serialization errors"""
1212
class UnexpectedInventoryFormat(BadInventoryFormat):
1213
"""The inventory was not in the expected format:\n %(msg)s"""
1215
def __init__(self, msg):
1216
BadInventoryFormat.__init__(self, msg=msg)
1219
class NoSmartServer(NotBranchError):
1220
"""No smart server available at %(url)s"""
1222
def __init__(self, url):
1226
class UnknownSSH(BzrNewError):
1227
"""Unrecognised value for BZR_SSH environment variable: %(vendor)s"""
1229
def __init__(self, vendor):
1230
BzrNewError.__init__(self)
1231
self.vendor = vendor
1234
class GhostRevisionUnusableHere(BzrNewError):
1235
"""Ghost revision {%(revision_id)s} cannot be used here."""
1237
def __init__(self, revision_id):
1238
BzrNewError.__init__(self)
1239
self.revision_id = revision_id
1242
class IllegalUseOfScopeReplacer(BzrNewError):
1243
"""ScopeReplacer object %(name)r was used incorrectly: %(msg)s%(extra)s"""
1245
is_user_error = False
1247
def __init__(self, name, msg, extra=None):
1248
BzrNewError.__init__(self)
1252
self.extra = ': ' + str(extra)
1257
class InvalidImportLine(BzrNewError):
1258
"""Not a valid import statement: %(msg)\n%(text)s"""
1260
is_user_error = False
1262
def __init__(self, text, msg):
1263
BzrNewError.__init__(self)
1268
class ImportNameCollision(BzrNewError):
1269
"""Tried to import an object to the same name as an existing object. %(name)s"""
1271
is_user_error = False
1273
def __init__(self, name):
1274
BzrNewError.__init__(self)
1051
class BadBundle(Exception): pass
1054
class MalformedHeader(BadBundle): pass
1057
class MalformedPatches(BadBundle): pass
1060
class MalformedFooter(BadBundle): pass