~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 07:25:40 UTC
  • Revision ID: robertc@robertcollins.net-20051019072540-0ab4d3bd16ff8c94
Change Transport.* to work with URL's.

 * bzrlib.transport.Transport now accepts *ONLY* url escaped relative paths 
   to apis like 'put', 'get' and 'has'. This is to provide consistent
   behaviour - it operates on url's only. (Robert Collins)

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
26
27
 
27
28
from bzrlib.trace import mutter
28
29
from bzrlib.transport import Transport, register_transport, \
59
60
            return LocalTransport(self.abspath(offset))
60
61
 
61
62
    def abspath(self, relpath):
62
 
        """Return the full url to the given relative path.
 
63
        """Return the full url to the given relative URL.
63
64
        This can be supplied with a string or a list
64
65
        """
65
 
        if isinstance(relpath, basestring):
66
 
            relpath = [relpath]
67
 
        return os.path.join(self.base, *relpath)
 
66
        assert isinstance(relpath, basestring)
 
67
        return os.path.join(self.base, urllib.unquote(relpath))
68
68
 
69
69
    def relpath(self, abspath):
70
70
        """Return the local path portion from a given absolute path.