~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

  • Committer: John Arbash Meinel
  • Date: 2006-10-06 07:00:31 UTC
  • mto: This revision was merged to the branch mainline in revision 2071.
  • Revision ID: john@arbash-meinel.com-20061006070031-1206bad6a645029c
Make importing errors lazy for osutils

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
    mkdtemp,
47
47
    )
48
48
import unicodedata
 
49
 
 
50
from bzrlib import (
 
51
    errors,
 
52
    )
49
53
""")
50
54
 
51
55
import bzrlib
52
 
from bzrlib import (
53
 
    errors,
54
 
    )
55
 
from bzrlib.errors import (
56
 
    BzrError,
57
 
    BzrBadParameterNotUnicode,
58
 
    NoSuchFile,
59
 
    PathNotChild,
60
 
    IllegalPath,
61
 
    )
62
56
from bzrlib.symbol_versioning import (
63
57
    deprecated_function,
64
58
    zero_nine,
157
151
    elif kind == 'symlink':
158
152
        return '@'
159
153
    else:
160
 
        raise BzrError('invalid file kind %r' % kind)
 
154
        raise errors.BzrError('invalid file kind %r' % kind)
161
155
 
162
156
lexists = getattr(os.path, 'lexists', None)
163
157
if lexists is None:
172
166
            if e.errno == errno.ENOENT:
173
167
                return False;
174
168
            else:
175
 
                raise BzrError("lstat/stat of (%r): %r" % (f, e))
 
169
                raise errors.BzrError("lstat/stat of (%r): %r" % (f, e))
176
170
 
177
171
 
178
172
def fancy_rename(old, new, rename_func, unlink_func):
199
193
    file_existed = False
200
194
    try:
201
195
        rename_func(new, tmp_name)
202
 
    except (NoSuchFile,), e:
 
196
    except (errors.NoSuchFile,), e:
203
197
        pass
204
198
    except IOError, e:
205
199
        # RBC 20060103 abstraction leakage: the paramiko SFTP clients rename
582
576
        tt = time.localtime(t)
583
577
        offset = local_time_offset(t)
584
578
    else:
585
 
        raise BzrError("unsupported timezone format %r" % timezone,
586
 
                       ['options are "utc", "original", "local"'])
 
579
        raise errors.BzrError("unsupported timezone format %r" % timezone,
 
580
                              ['options are "utc", "original", "local"'])
587
581
    if date_fmt is None:
588
582
        date_fmt = "%a %Y-%m-%d %H:%M:%S"
589
583
    if show_offset:
701
695
    rps = []
702
696
    for f in ps:
703
697
        if f == '..':
704
 
            raise BzrError("sorry, %r not allowed in path" % f)
 
698
            raise errors.BzrError("sorry, %r not allowed in path" % f)
705
699
        elif (f == '.') or (f == ''):
706
700
            pass
707
701
        else:
712
706
    assert isinstance(p, list)
713
707
    for f in p:
714
708
        if (f == '..') or (f is None) or (f == ''):
715
 
            raise BzrError("sorry, %r not allowed in path" % f)
 
709
            raise errors.BzrError("sorry, %r not allowed in path" % f)
716
710
    return pathjoin(*p)
717
711
 
718
712
 
811
805
        if tail:
812
806
            s.insert(0, tail)
813
807
    else:
814
 
        raise PathNotChild(rp, base)
 
808
        raise errors.PathNotChild(rp, base)
815
809
 
816
810
    if s:
817
811
        return pathjoin(*s)
832
826
    try:
833
827
        return unicode_or_utf8_string.decode('utf8')
834
828
    except UnicodeDecodeError:
835
 
        raise BzrBadParameterNotUnicode(unicode_or_utf8_string)
 
829
        raise errors.BzrBadParameterNotUnicode(unicode_or_utf8_string)
836
830
 
837
831
 
838
832
_platform_normalizes_filenames = False
937
931
    if sys.platform != "win32":
938
932
        return
939
933
    if _validWin32PathRE.match(path) is None:
940
 
        raise IllegalPath(path)
 
934
        raise errors.IllegalPath(path)
941
935
 
942
936
 
943
937
def walkdirs(top, prefix=""):