~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/local.py

  • Committer: Robert Collins
  • Date: 2005-10-19 06:01:01 UTC
  • Revision ID: robertc@robertcollins.net-20051019060101-1f62d4fb1a5f59dc
WorkingTree.__del__ has been removed.

It was non deterministic and not doing what it was intended 
to. See WorkingTree.__init__ for a comment about future directions.
(Robert Collins/Martin Pool)

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import shutil
24
24
from stat import ST_MODE, S_ISDIR, ST_SIZE
25
25
import tempfile
26
 
import urllib
27
26
 
28
27
from bzrlib.trace import mutter
29
28
from bzrlib.transport import Transport, register_transport, \
60
59
            return LocalTransport(self.abspath(offset))
61
60
 
62
61
    def abspath(self, relpath):
63
 
        """Return the full url to the given relative URL.
 
62
        """Return the full url to the given relative path.
64
63
        This can be supplied with a string or a list
65
64
        """
66
 
        assert isinstance(relpath, basestring), (type(relpath), relpath)
67
 
        return os.path.join(self.base, urllib.unquote(relpath))
 
65
        if isinstance(relpath, basestring):
 
66
            relpath = [relpath]
 
67
        return os.path.join(self.base, *relpath)
68
68
 
69
69
    def relpath(self, abspath):
70
70
        """Return the local path portion from a given absolute path.
115
115
        """Iter the relative paths of files in the transports sub-tree."""
116
116
        queue = list(self.list_dir('.'))
117
117
        while queue:
118
 
            relpath = urllib.quote(queue.pop(0))
 
118
            relpath = queue.pop(0)
119
119
            st = self.stat(relpath)
120
120
            if S_ISDIR(st[ST_MODE]):
121
121
                for i, basename in enumerate(self.list_dir(relpath)):
243
243
    def __del__(self):
244
244
        shutil.rmtree(self.base, ignore_errors=True)
245
245
        mutter("%r destroyed" % self)
 
246
 
 
247
# If nothing else matches, try the LocalTransport
 
248
register_transport(None, LocalTransport)
 
249
register_transport('file://', LocalTransport)