~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/__init__.py

Merge from bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
616
616
        """Return true if this connection cannot be written to."""
617
617
        return False
618
618
 
 
619
    def _can_roundtrip_unix_modebits(self):
 
620
        """Return true if this transport can store and retrieve unix modebits.
 
621
 
 
622
        (For example, 0700 to make a directory owner-private.)
 
623
        
 
624
        Note: most callers will not want to switch on this, but should rather 
 
625
        just try and set permissions and let them be either stored or not.
 
626
        This is intended mainly for the use of the test suite.
 
627
        
 
628
        Warning: this is not guaranteed to be accurate as sometimes we can't 
 
629
        be sure: for example with vfat mounted on unix, or a windows sftp
 
630
        server."""
 
631
        # TODO: Perhaps return a e.g. TransportCharacteristics that can answer
 
632
        # several questions about the transport.
 
633
        return False
 
634
 
619
635
 
620
636
def get_transport(base):
621
637
    """Open a transport to access a URL or directory.
651
667
 
652
668
def urlescape(relpath):
653
669
    """Escape relpath to be a valid url."""
654
 
    # TODO utf8 it first. utf8relpath = relpath.encode('utf8')
 
670
    if isinstance(relpath, unicode):
 
671
        relpath = relpath.encode('utf-8')
655
672
    return urllib.quote(relpath)
656
673
 
657
674
 
788
805
register_lazy_transport('memory:/', 'bzrlib.transport.memory', 'MemoryTransport')
789
806
register_lazy_transport('readonly+', 'bzrlib.transport.readonly', 'ReadonlyTransportDecorator')
790
807
register_lazy_transport('fakenfs+', 'bzrlib.transport.fakenfs', 'FakeNFSTransportDecorator')
 
808
register_lazy_transport('vfat+', 
 
809
                        'bzrlib.transport.fakevfat',
 
810
                        'FakeVFATTransportDecorator')