rbtools.utils.filesystem¶
Utilities for working with files.
Functions
|
Change to the specified directory for the duration of the context. |
Return the paths to each |
|
Retrieve the homepath. |
|
|
Return whether an executable is in the user's search path. |
|
Iterate through all executables with a name in the user's search path. |
Load configuration from .reviewboardrc files. |
|
|
Creates each file in the given list and any intermediate directories. |
|
Create a temporary directory and return the path. |
|
Create a temporary file and return the path. |
|
Parse a .reviewboardrc file. |
|
Walks up the tree to the root directory. |
- rbtools.utils.filesystem.is_exe_in_path(name: str) bool [source]¶
Return whether an executable is in the user’s search path.
This expects a name without any system-specific executable extension. It will append the proper extension as necessary. For example, use “myapp” and not “myapp.exe”.
The result will be cached. Future lookups for the same executable will return the same value.
Changed in version 3.0: The result is now cached.
- rbtools.utils.filesystem.iter_exes_in_path(name: str) Iterable[str] [source]¶
Iterate through all executables with a name in the user’s search path.
This expects a name without any system-specific executable extension. It will append the proper extension as necessary. For example, use “myapp” and not “myapp.exe” or “myapp.cmd”. This will look for both variations.
Changed in version 4.0.1: On Windows, if not searching for a deliberate
.exe
or.cmd
extension, this will now look for variations with both extensions.New in version 4.0.
- rbtools.utils.filesystem.make_tempfile(*, content: Optional[bytes] = None, prefix: str = 'rbtools.', suffix: Optional[str] = None, filename: Optional[str] = None) str [source]¶
Create a temporary file and return the path.
If not manually removed, then the resulting temp file will be removed when RBTools exits (or if
cleanup_tempfiles()
is called).This can be given an explicit name for a temporary file, in which case the file will be created inside of a temporary directory (created with
make_tempdir()
. In this case, the parent directory will only be deleted whencleanup_tempfiles()
is called.- Parameters:
content (
bytes
, optional) – The content for the text file.prefix (
str
, optional) – The prefix for the temp filename. This defaults torbtools.
.suffix (
str
, optional) – The suffix for the temp filename.filename (
str
, optional) – An explicit name of the file. If provided, this will overridesuffix
andprefix
.
- Returns:
The temp file path.
- Return type:
- rbtools.utils.filesystem.make_tempdir(parent=None, track=True)[source]¶
Create a temporary directory and return the path.
By default, the path will be stored in a list for cleanup when calling
cleanup_tempfiles()
.Changed in version 3.0: Added
track
.
- rbtools.utils.filesystem.make_empty_files(files)[source]¶
Creates each file in the given list and any intermediate directories.
- rbtools.utils.filesystem.get_config_paths()[source]¶
Return the paths to each
.reviewboardrc
influencing the cwd.A list of paths to
.reviewboardrc
files will be returned, where each subsequent list entry should have lower precedence than the previous. i.e. configuration found in files further up the list will take precedence.Configuration in the paths set in
$RBTOOLS_CONFIG_PATH
will take precedence over files found in the current working directory or its parents.Deprecated since version 5.0: This has been replaced with
rbtools.config.loader.get_config_paths()
, and will be removed in RBTools 6.
- rbtools.utils.filesystem.parse_config_file(filename)[source]¶
Parse a .reviewboardrc file.
Returns a dictionary containing the configuration from the file.
Deprecated since version 5.0: This has been replaced with
rbtools.config.loader.parse_config_file()
, and will be removed in RBTools 6.- Parameters:
filename (
str
) – The full path to a.reviewboardrc
file.- Returns:
The loaded configuration data.
- Return type:
- Raises:
SyntaxError – There was a syntax error in the configuration file.
- rbtools.utils.filesystem.load_config()[source]¶
Load configuration from .reviewboardrc files.
This will read all of the
.reviewboardrc
files influencing the cwd and return a dictionary containing the configuration.Deprecated since version 5.0: This has been replaced with
rbtools.config.loader.load_config()
, and will be removed in RBTools 6.- Returns:
The loaded configuration data.
- Return type:
- rbtools.utils.filesystem.chdir(path: str) Generator[None, None, None] [source]¶
Change to the specified directory for the duration of the context.
New in version 4.0.
- Parameters:
path (
str
) – The path to change to.- Context:
Operations will run within the specified directory.
- Raises:
FileNotFoundError – The provided path does not exist.