~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/errors.py

(mbp) merge bzr.dev to 0.8, prepare for release

Show diffs side-by-side

added added

removed removed

Lines of Context:
68
68
# TODO: Convert all the other error classes here to BzrNewError, and eliminate
69
69
# the old one.
70
70
 
 
71
# TODO: The pattern (from hct) of using classes docstrings as message
 
72
# templates is cute but maybe not such a great idea - perhaps should have a
 
73
# separate static message_template.
 
74
 
71
75
 
72
76
class BzrError(StandardError):
73
77
    def __str__(self):
136
140
 
137
141
 
138
142
class NoWorkingTree(BzrNewError):
139
 
    """No WorkingTree exists for %s(base)."""
 
143
    """No WorkingTree exists for %(base)s."""
140
144
    
141
145
    def __init__(self, base):
142
146
        BzrNewError.__init__(self)
144
148
 
145
149
 
146
150
class NotLocalUrl(BzrNewError):
147
 
    """%s(url) is not a local path."""
 
151
    """%(url)s is not a local path."""
148
152
    
149
153
    def __init__(self, url):
150
154
        BzrNewError.__init__(self)
172
176
    """Commit refused because there are unknowns in the tree."""
173
177
 
174
178
 
 
179
# XXX: Should be unified with TransportError; they seem to represent the
 
180
# same thing
175
181
class PathError(BzrNewError):
176
182
    """Generic path error: %(path)r%(extra)s)"""
177
183
 
221
227
 
222
228
 
223
229
class AlreadyBranchError(PathError):
224
 
    """Already a branch: %(path)s. Use `bzr checkout` to build a working tree."""
 
230
    """Already a branch: %(path)s."""
 
231
 
 
232
 
 
233
class BranchExistsWithoutWorkingTree(PathError):
 
234
    """Directory contains a branch, but no working tree \
 
235
(use bzr checkout if you wish to build a working tree): %(path)s"""
225
236
 
226
237
 
227
238
class NoRepositoryPresent(BzrNewError):
228
 
    """Not repository present: %(path)r"""
 
239
    """No repository present: %(path)r"""
229
240
    def __init__(self, bzrdir):
230
241
        BzrNewError.__init__(self)
231
242
        self.path = bzrdir.transport.clone('..').base
280
291
        self.paths_as_string = ' '.join([quotefn(p) for p in paths])
281
292
 
282
293
 
 
294
class PathsDoNotExist(BzrNewError):
 
295
    """Path(s) do not exist: %(paths_as_string)s"""
 
296
 
 
297
    # used when reporting that paths are neither versioned nor in the working
 
298
    # tree
 
299
 
 
300
    def __init__(self, paths):
 
301
        # circular import
 
302
        from bzrlib.osutils import quotefn
 
303
        BzrNewError.__init__(self)
 
304
        self.paths = paths
 
305
        self.paths_as_string = ' '.join([quotefn(p) for p in paths])
 
306
 
 
307
 
283
308
class BadFileKindError(BzrError):
284
309
    """Specified file is of a kind that cannot be added.
285
310
 
764
789
    """Parameter $(param)s is required but not present."""
765
790
 
766
791
 
 
792
class BzrBadParameterUnicode(BzrBadParameter):
 
793
    """Parameter %(param)s is unicode but only byte-strings are permitted."""
 
794
 
 
795
 
 
796
class BzrBadParameterContainsNewline(BzrBadParameter):
 
797
    """Parameter %(param)s contains a newline."""
 
798
 
 
799
 
767
800
class DependencyNotPresent(BzrNewError):
768
801
    """Unable to import library "%(library)s": %(error)s"""
769
802
 
857
890
        self.method = method
858
891
        self.mname = method.__name__
859
892
        self.tname = type(method_self).__name__
 
893
 
 
894
 
 
895
class BinaryFile(BzrNewError):
 
896
    """File is binary but should be text."""
 
897
 
 
898
 
 
899
class IllegalPath(BzrNewError):
 
900
    """The path %(path)s is not permitted on this platform"""
 
901
 
 
902
    def __init__(self, path):
 
903
        BzrNewError.__init__(self)
 
904
        self.path = path