~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

  • Committer: Jelmer Vernooij
  • Date: 2011-04-05 01:12:15 UTC
  • mto: This revision was merged to the branch mainline in revision 5757.
  • Revision ID: jelmer@samba.org-20110405011215-8g6izwf3uz8v4174
Remove some unnecessary imports, clean up lazy imports.

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
lazy_import(globals(), """
32
32
import collections
33
33
import copy
34
 
import os
35
34
import re
36
35
import tarfile
37
36
 
43
42
    )
44
43
""")
45
44
 
46
 
from bzrlib.errors import (
47
 
    BzrCheckError,
48
 
    BzrError,
 
45
from bzrlib import (
 
46
    lazy_regex,
 
47
    trace,
49
48
    )
50
 
from bzrlib.trace import mutter
 
49
 
51
50
from bzrlib.static_tuple import StaticTuple
52
51
 
53
52
 
224
223
 
225
224
    def kind_character(self):
226
225
        """Return a short kind indicator useful for appending to names."""
227
 
        raise BzrError('unknown kind %r' % self.kind)
 
226
        raise errors.BzrError('unknown kind %r' % self.kind)
228
227
 
229
228
    known_kinds = ('file', 'directory', 'symlink')
230
229
 
250
249
        """
251
250
        if self.parent_id is not None:
252
251
            if not inv.has_id(self.parent_id):
253
 
                raise BzrCheckError('missing parent {%s} in inventory for revision {%s}'
254
 
                        % (self.parent_id, rev_id))
 
252
                raise errors.BzrCheckError(
 
253
                    'missing parent {%s} in inventory for revision {%s}' % (
 
254
                        self.parent_id, rev_id))
255
255
        checker._add_entry_to_text_key_references(inv, self)
256
256
        self._check(checker, rev_id)
257
257
 
539
539
        # FIXME: which _modified field should we use ? RBC 20051003
540
540
        text_modified = (self.symlink_target != old_entry.symlink_target)
541
541
        if text_modified:
542
 
            mutter("    symlink target changed")
 
542
            trace.mutter("    symlink target changed")
543
543
        meta_modified = False
544
544
        return text_modified, meta_modified
545
545
 
1182
1182
    def _add_child(self, entry):
1183
1183
        """Add an entry to the inventory, without adding it to its parent"""
1184
1184
        if entry.file_id in self._byid:
1185
 
            raise BzrError("inventory already contains entry with id {%s}" %
1186
 
                           entry.file_id)
 
1185
            raise errors.BzrError(
 
1186
                "inventory already contains entry with id {%s}" %
 
1187
                entry.file_id)
1187
1188
        self._byid[entry.file_id] = entry
1188
1189
        for child in getattr(entry, 'children', {}).itervalues():
1189
1190
            self._add_child(child)
1353
1354
        """
1354
1355
        new_name = ensure_normalized_name(new_name)
1355
1356
        if not is_valid_name(new_name):
1356
 
            raise BzrError("not an acceptable filename: %r" % new_name)
 
1357
            raise errors.BzrError("not an acceptable filename: %r" % new_name)
1357
1358
 
1358
1359
        new_parent = self._byid[new_parent_id]
1359
1360
        if new_name in new_parent.children:
1360
 
            raise BzrError("%r already exists in %r" % (new_name, self.id2path(new_parent_id)))
 
1361
            raise errors.BzrError("%r already exists in %r" %
 
1362
                (new_name, self.id2path(new_parent_id)))
1361
1363
 
1362
1364
        new_parent_idpath = self.get_idpath(new_parent_id)
1363
1365
        if file_id in new_parent_idpath:
1364
 
            raise BzrError("cannot move directory %r into a subdirectory of itself, %r"
 
1366
            raise errors.BzrError(
 
1367
                "cannot move directory %r into a subdirectory of itself, %r"
1365
1368
                    % (self.id2path(file_id), self.id2path(new_parent_id)))
1366
1369
 
1367
1370
        file_ie = self._byid[file_id]
2299
2302
    return name
2300
2303
 
2301
2304
 
2302
 
_NAME_RE = None
 
2305
_NAME_RE = lazy_regex.lazy_compile(r'^[^/\\]+$')
2303
2306
 
2304
2307
def is_valid_name(name):
2305
 
    global _NAME_RE
2306
 
    if _NAME_RE is None:
2307
 
        _NAME_RE = re.compile(r'^[^/\\]+$')
2308
 
 
2309
2308
    return bool(_NAME_RE.match(name))
2310
2309
 
2311
2310