lsb-release: split the function so it can be tested with more ease
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
This commit is contained in:
parent
2883cad416
commit
8e3751f647
|
@ -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())
|
||||
|
|
Loading…
Reference in New Issue