Location

class lsst.daf.butler.Location(datastoreRootUri: Union[None, str, urllib.parse.ParseResult, ResourcePath, pathlib.Path], path: Union[str, urllib.parse.ParseResult, ResourcePath, pathlib.Path])

Bases: object

Identifies a location within the Datastore.

Parameters:
datastoreRootUri : lsst.resources.ResourcePathExpression or None

Base URI for this datastore, must include an absolute path. If None the path must correspond to an absolute URI.

path : lsst.resources.ResourcePathExpression

Relative path within datastore. Assumed to be using the local path separator if a file scheme is being used for the URI, else a POSIX separator. Can be a full URI if the root URI is None. Can also be a schemeless URI if it refers to a relative path.

Attributes Summary

netloc Return the URI network location.
path Return path corresponding to location.
pathInStore Return path corresponding to location relative to Datastore root.
relativeToPathRoot Return the path component relative to the network location.
uri Return URI corresponding to fully-specified datastore location.

Methods Summary

getExtension() Return the file extension(s) associated with this location.
updateExtension(ext) Update the file extension associated with this Location.

Attributes Documentation

netloc

Return the URI network location.

path

Return path corresponding to location.

This path includes the root of the Datastore, but does not include non-path components of the root URI. Paths will not include URI quoting. If a file URI scheme is being used the path will be returned with the local OS path separator.

pathInStore

Return path corresponding to location relative to Datastore root.

Uses the same path separator as supplied to the object constructor. Can be an absolute URI if that is how the location was configured.

relativeToPathRoot

Return the path component relative to the network location.

Effectively, this is the path property with POSIX separator stripped from the left hand side of the path. Will be unquoted.

uri

Return URI corresponding to fully-specified datastore location.

Methods Documentation

getExtension() → str

Return the file extension(s) associated with this location.

Returns:
ext : str

The file extension (including the .). Can be empty string if there is no file extension. Will return all file extensions as a single extension such that file.fits.gz will return a value of .fits.gz.

updateExtension(ext: Optional[str]) → None

Update the file extension associated with this Location.

All file extensions are replaced.

Parameters:
ext : str

New extension. If an empty string is given any extension will be removed. If None is given there will be no change.