diff --git a/subiquitycore/lsb_release.py b/subiquitycore/lsb_release.py index 9e3ac136..7bf91728 100644 --- a/subiquitycore/lsb_release.py +++ b/subiquitycore/lsb_release.py @@ -6,15 +6,7 @@ LSB_RELEASE_FILE = "/etc/lsb-release" LSB_RELEASE_EXAMPLE = "examples/lsb-release-focal" -def lsb_release(path=None, dry_run: bool = False) -> Dict[str, str]: - """return a dictionary of values from /etc/lsb-release. - keys are lower case with DISTRIB_ prefix removed.""" - if dry_run and path is not None: - raise ValueError("Both dry_run and path are specified.") - - if path is None: - path = LSB_RELEASE_EXAMPLE if dry_run else LSB_RELEASE_FILE - +def lsb_release_from_path(path: str) -> Dict[str, str]: ret: Dict[str, str] = {} try: with open(path, "r") as fp: @@ -30,5 +22,17 @@ def lsb_release(path=None, dry_run: bool = False) -> Dict[str, str]: return ret +def lsb_release(path=None, dry_run: bool = False) -> Dict[str, str]: + """return a dictionary of values from /etc/lsb-release. + keys are lower case with DISTRIB_ prefix removed.""" + if dry_run and path is not None: + raise ValueError("Both dry_run and path are specified.") + + if path is None: + path = LSB_RELEASE_EXAMPLE if dry_run else LSB_RELEASE_FILE + + return lsb_release_from_path(path) + + if __name__ == "__main__": print(lsb_release())