b.t.d.TransportDecorator(transport.Transport) : class documentation

Part of bzrlib.transport.decorator View In Hierarchy

Known subclasses: bzrlib.transport.brokenrename.BrokenRenameTransportDecorator, bzrlib.transport.fakenfs.FakeNFSTransportDecorator, bzrlib.transport.fakevfat.FakeVFATTransportDecorator, bzrlib.transport.log.TransportLogDecorator, bzrlib.transport.nosmart.NoSmartTransportDecorator, bzrlib.transport.readonly.ReadonlyTransportDecorator, bzrlib.transport.trace.TransportTraceDecorator, bzrlib.transport.unlistable.UnlistableTransportDecorator

A no-change decorator for Transports.

Subclasses of this are new transports that are based on an underlying transport and can override or intercept some behavior. For example ReadonlyTransportDecorator prevents all write attempts, and FakeNFSTransportDecorator simulates some NFS quirks.

This decorator class is not directly usable as a decorator: you must use a subclass which has overridden the _get_url_prefix() class method to return the url prefix for the subclass.

Method __init__ Set the 'base' path of the transport.
Method abspath See Transport.abspath().
Method append_file See Transport.append_file().
Method append_bytes See Transport.append_bytes().
Method clone See Transport.clone().
Method delete See Transport.delete().
Method delete_tree See Transport.delete_tree().
Method external_url See bzrlib.transport.Transport.external_url.
Method get See Transport.get().
Method get_smart_client Undocumented
Method has See Transport.has().
Method is_readonly See Transport.is_readonly.
Method mkdir See Transport.mkdir().
Method open_write_stream See Transport.open_write_stream.
Method put_file See Transport.put_file().
Method put_bytes See Transport.put_bytes().
Method listable See Transport.listable.
Method iter_files_recursive See Transport.iter_files_recursive().
Method list_dir See Transport.list_dir().
Method recommended_page_size See Transport.recommended_page_size().
Method rename Rename a file or directory.
Method rmdir See Transport.rmdir.
Method stat See Transport.stat().
Method lock_read See Transport.lock_read.
Method lock_write See Transport.lock_write.
Method _can_roundtrip_unix_modebits See Transport._can_roundtrip_unix_modebits().
Class Method _get_url_prefix Return the URL prefix of this decorator.
Method _readv See Transport._readv.
Method _get_segment_parameters Undocumented
Method _set_segment_parameters Undocumented
Method _redirected_to Returns a transport suitable to re-issue a redirected request.

Inherited from Transport:

Method create_prefix Create all the directories leading down to self.base.
Method ensure_base Ensure that the directory this transport references exists.
Method get_segment_parameters Return the segment parameters for the top segment of the URL.
Method relpath Return the local path portion from a given absolute path.
Method local_abspath Return the absolute path on the local filesystem.
Method has_multi Return True/False for each entry in relpaths
Method has_any Return True if any of the paths exist.
Method get_bytes Get a raw string of the bytes for a file at the given location.
Method get_smart_medium Return a smart client medium for this transport if possible.
Method readv Get parts of the file at the given relative path.
Method get_multi Get a list of file-like objects, one for each entry in relpaths.
Method put_bytes_non_atomic Copy the string into the target location.
Method put_file_non_atomic Copy the file-like object into the target location.
Method mkdir_multi Create a group of directories
Method append_multi Append the text in each file-like or string object to
Method copy Copy the item at rel_from to the location at rel_to.
Method copy_multi Copy a bunch of entries.
Method copy_to Copy a set of entries from self into another Transport.
Method copy_tree Copy a subtree from one relpath to another.
Method copy_tree_to_transport Copy a subtree from one transport to another.
Method move Move the item at rel_from to the location at rel_to.
Method move_multi Move a bunch of entries.
Method move_multi_to Move a bunch of entries to a single location.
Method delete_multi Queue up a bunch of deletes to be done.
Method __repr__ Undocumented
Method stat_multi Stat multiple files and return the information.
Method readlink Return a string representing the path to which the symbolic link points.
Method hardlink Create a hardlink pointing to source named link_name.
Method symlink Create a symlink pointing to source named link_name.
Method disconnect Undocumented
Method _translate_error Translate an IOError or OSError into an appropriate bzr error.
Method _pump Most children will need to copy from one file-like
Method _get_total Try to figure out how many entries are in multi,
Method _report_activity Notify that this transport has activity.
Method _update_pb Update the progress bar based on the current count
Method _iterate_over Iterate over all entries in multi, passing them to func,
Method _seek_and_read An implementation of readv that uses fp.seek and fp.read.
Method _sort_expand_and_combine Helper for readv.
Static Method _coalesce_offsets Yield coalesced offsets.
Method _reuse_for Undocumented
def __init__(self, url, _decorated=None, _from_transport=None):
Set the 'base' path of the transport.
Parameters_decoratedA private parameter for cloning.
_from_transportIs available for subclasses that need to share state across clones.
def abspath(self, relpath):
See Transport.abspath().
def append_file(self, relpath, f, mode=None):
See Transport.append_file().
def append_bytes(self, relpath, bytes, mode=None):
See Transport.append_bytes().
def _can_roundtrip_unix_modebits(self):
See Transport._can_roundtrip_unix_modebits().
def clone(self, offset=None):
See Transport.clone().
def delete(self, relpath):
See Transport.delete().
def delete_tree(self, relpath):
See Transport.delete_tree().
def external_url(self):
See bzrlib.transport.Transport.external_url.
@classmethod
def _get_url_prefix(self):
Return the URL prefix of this decorator.
def get(self, relpath):
See Transport.get().
def get_smart_client(self):
Undocumented
def has(self, relpath):
See Transport.has().
def is_readonly(self):
See Transport.is_readonly.
def mkdir(self, relpath, mode=None):
See Transport.mkdir().
def open_write_stream(self, relpath, mode=None):
See Transport.open_write_stream.
def put_file(self, relpath, f, mode=None):
See Transport.put_file().
def put_bytes(self, relpath, bytes, mode=None):
See Transport.put_bytes().
def listable(self):
See Transport.listable.
def iter_files_recursive(self):
See Transport.iter_files_recursive().
def list_dir(self, relpath):
See Transport.list_dir().
def _readv(self, relpath, offsets):
See Transport._readv.
def recommended_page_size(self):
See Transport.recommended_page_size().
def rename(self, rel_from, rel_to):
Rename a file or directory.

This must fail if the destination is a nonempty directory - it must not automatically remove it. It should raise DirectoryNotEmpty, or some other PathError if the case can't be specifically detected.

If the destination is an empty directory or a file this function may either fail or succeed, depending on the underlying transport. It should not attempt to remove the destination if overwriting is not the native transport behaviour. If at all possible the transport should ensure that the rename either completes or not, without leaving the destination deleted and the new file not moved in place.

This is intended mainly for use in implementing LockDir.

def rmdir(self, relpath):
See Transport.rmdir.
def _get_segment_parameters(self):
Undocumented
def _set_segment_parameters(self, value):
Undocumented
def stat(self, relpath):
See Transport.stat().
def lock_read(self, relpath):
See Transport.lock_read.
def lock_write(self, relpath):
See Transport.lock_write.
def _redirected_to(self, source, target):
Returns a transport suitable to re-issue a redirected request.

The redirection can be handled only if the relpath involved is not renamed by the redirection.

ParameterssourceThe source url as returned by the server.
targetThe target url as returned by the server.
ReturnsA transport or None.
API Documentation for Bazaar, generated by pydoctor at 2019-08-23 00:31:40.