Miscellaneous¶
Provides some utilities functions used by the shennong library
Those fonctions are not designed to be used by the end-user.
-
shennong.utils.
get_njobs
(njobs=None, log=<Logger null (WARNING)>)[source]¶ Returns the number of parallel jobs to run
The returned number of jobs is adapted from the input njobs value, considering the number of CPU cores available on the machine.
- Parameters
njobs (int, optional) – The desired number of jobs to use, default to the number of cores available on the machine.
log (logging.Logger, optional) – A logger where to send messages, no logging by default.
- Returns
njobs (int) – The returned value is min(njobs, ncpus).
- Raises
ValueError – If njobs is not a strictly positive integer.
-
shennong.utils.
dict_equal
(dict1, dict2)[source]¶ Returns True if dict1 and dict2 are equals
The dictionnaries dict1 and dict2 can contain numpy arrays.
- Parameters
dict1 (dict) – The first dictionnary to compare
dict2 (dict) – The second dictionnary to compare
- Returns
equal (bool) – True if dict1 == dict2, False otherwise
-
shennong.utils.
list_files_with_extension
(directory, extension, abspath=False, realpath=True, recursive=True)[source]¶ Return all files of given extension in directory hierarchy
- Parameters
directory (str) – The directory where to search for files
extension (str) – The extension of the targeted files (e.g. ‘.wav’)
abspath (bool, optional) – If True, return the absolute path to the file/link, default to False.
realpath (bool, optional) – If True, return resolved links, default to True.
recursive (bool, optional) – If True, list files in the whole subdirectories tree, if False just list the top-level directory, default to True.
- Returns
files (list) – The files are returned in a sorted list with a path relative to ‘directory’, except if abspath or realpath is True
-
class
shennong.utils.
CatchExceptions
(function)[source]¶ Bases:
object
Decorator wrapping a function in a try/except block
When an exception occurs, display a user friendly message on standard output before exiting with error code 1.
The detected exceptions are ValueError, OSError, RuntimeError, AssertionError, KeyboardInterrupt and pkg_resources.DistributionNotFound.
- Parameters
function – The function to wrap in a try/except block