1286
1286
# should be asked to ConnectedTransport only.
1289
def disconnect(self):
1290
# This is really needed for ConnectedTransport only, but it's easier to
1291
# have Transport do nothing than testing that the disconnect should be
1292
# asked to ConnectedTransport only.
1295
1289
def _redirected_to(self, source, target):
1296
1290
"""Returns a transport suitable to re-issue a redirected request.
1556
1550
transport = self.__class__(other_base, _from_transport=self)
1557
1551
return transport
1559
def disconnect(self):
1560
"""Disconnect the transport.
1562
If and when required the transport willl reconnect automatically.
1564
raise NotImplementedError(self.disconnect)
1554
# We try to recognize an url lazily (ignoring user, password, etc)
1555
_urlRE = re.compile(r'^(?P<proto>[^:/\\]+)://(?P<rest>.*)$')
1567
1557
def get_transport(base, possible_transports=None):
1568
1558
"""Open a transport to access a URL or directory.
1749
1740
register_lazy_transport('ftp://', 'bzrlib.transport.ftp', 'FtpTransport')
1750
1741
register_transport_proto('aftp://', help="Access using active FTP.")
1751
1742
register_lazy_transport('aftp://', 'bzrlib.transport.ftp', 'FtpTransport')
1752
register_transport_proto('gio+', help="Access using any GIO supported protocols.")
1753
register_lazy_transport('gio+', 'bzrlib.transport.gio_transport', 'GioTransport')
1756
# Default to trying GSSAPI authentication (if the kerberos module is
1758
register_transport_proto('ftp+gssapi://', register_netloc=True)
1759
register_transport_proto('aftp+gssapi://', register_netloc=True)
1760
register_transport_proto('ftp+nogssapi://', register_netloc=True)
1761
register_transport_proto('aftp+nogssapi://', register_netloc=True)
1762
register_lazy_transport('ftp+gssapi://', 'bzrlib.transport.ftp._gssapi',
1763
'GSSAPIFtpTransport')
1764
register_lazy_transport('aftp+gssapi://', 'bzrlib.transport.ftp._gssapi',
1765
'GSSAPIFtpTransport')
1766
register_lazy_transport('ftp://', 'bzrlib.transport.ftp._gssapi',
1767
'GSSAPIFtpTransport')
1768
register_lazy_transport('aftp://', 'bzrlib.transport.ftp._gssapi',
1769
'GSSAPIFtpTransport')
1770
register_lazy_transport('ftp+nogssapi://', 'bzrlib.transport.ftp',
1772
register_lazy_transport('aftp+nogssapi://', 'bzrlib.transport.ftp',
1746
kerberos_available = True
1748
kerberos_available = False
1750
if kerberos_available:
1751
# Default to trying GSSAPI authentication (if the kerberos module is
1753
register_transport_proto('ftp+gssapi://', register_netloc=True)
1754
register_lazy_transport('ftp+gssapi://', 'bzrlib.transport.ftp._gssapi',
1755
'GSSAPIFtpTransport')
1756
register_transport_proto('aftp+gssapi://', register_netloc=True)
1757
register_lazy_transport('aftp+gssapi://', 'bzrlib.transport.ftp._gssapi',
1758
'GSSAPIFtpTransport')
1759
register_transport_proto('ftp+nogssapi://', register_netloc=True)
1760
register_transport_proto('aftp+nogssapi://', register_netloc=True)
1762
register_lazy_transport('ftp://', 'bzrlib.transport.ftp._gssapi',
1763
'GSSAPIFtpTransport')
1764
register_lazy_transport('aftp://', 'bzrlib.transport.ftp._gssapi',
1765
'GSSAPIFtpTransport')
1766
register_lazy_transport('ftp+nogssapi://', 'bzrlib.transport.ftp',
1768
register_lazy_transport('aftp+nogssapi://', 'bzrlib.transport.ftp',
1775
1771
register_transport_proto('memory://')
1776
1772
register_lazy_transport('memory://', 'bzrlib.transport.memory',