~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/__init__.py

  • Committer: Robert Collins
  • Date: 2007-07-20 03:20:20 UTC
  • mfrom: (2592 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2635.
  • Revision ID: robertc@robertcollins.net-20070720032020-xiftpb5gqeebo861
(robertc) Reinstate the accidentally backed out external_url patch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
317
317
        else:
318
318
            return True
319
319
 
 
320
    def external_url(self):
 
321
        """Return a URL for self that can be given to an external process.
 
322
 
 
323
        There is no guarantee that the URL can be accessed from a different
 
324
        machine - e.g. file:/// urls are only usable on the local machine,
 
325
        sftp:/// urls when the server is only bound to localhost are only
 
326
        usable from localhost etc.
 
327
 
 
328
        NOTE: This method may remove security wrappers (e.g. on chroot
 
329
        transports) and thus should *only* be used when the result will not
 
330
        be used to obtain a new transport within bzrlib. Ideally chroot
 
331
        transports would know enough to cause the external url to be the exact
 
332
        one used that caused the chrooting in the first place, but that is not
 
333
        currently the case.
 
334
 
 
335
        :return: A URL that can be given to another process.
 
336
        :raises InProcessTransport: If the transport is one that cannot be
 
337
            accessed out of the current process (e.g. a MemoryTransport)
 
338
            then InProcessTransport is raised.
 
339
        """
 
340
        raise NotImplementedError(self.external_url)
 
341
 
320
342
    def should_cache(self):
321
343
        """Return True if the data pulled across should be cached locally.
322
344
        """