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"
|
LSB_RELEASE_EXAMPLE = "examples/lsb-release-focal"
|
||||||
|
|
||||||
|
|
||||||
def lsb_release(path=None, dry_run: bool = False) -> Dict[str, str]:
|
def lsb_release_from_path(path: str) -> 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
|
|
||||||
|
|
||||||
ret: Dict[str, str] = {}
|
ret: Dict[str, str] = {}
|
||||||
try:
|
try:
|
||||||
with open(path, "r") as fp:
|
with open(path, "r") as fp:
|
||||||
|
@ -30,5 +22,17 @@ def lsb_release(path=None, dry_run: bool = False) -> Dict[str, str]:
|
||||||
return ret
|
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__":
|
if __name__ == "__main__":
|
||||||
print(lsb_release())
|
print(lsb_release())
|
||||||
|
|
Loading…
Reference in New Issue