From 5dc184b4fa5896006a8b89633957fa019d90739e Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Nov 10 2017 21:38:18 +0000 Subject: utils_prog: setenv_namespaced: allow for undefining of the variable Supposedly, this was the original intention :-) Signed-off-by: Jan Pokorný --- diff --git a/utils_prog.py b/utils_prog.py index dd6b346..c427791 100644 --- a/utils_prog.py +++ b/utils_prog.py @@ -318,8 +318,16 @@ def getenv_namespaced(varname, value=None, namespace=package_name().upper()): def setenv_namespaced(varname, value=None, namespace=package_name().upper()): - """Set value of environment variable prefixed with `namespace + '_'`""" - environ['_'.join((namespace, varname))] = value + """Set value of environment variable prefixed with `namespace + '_'` + + Variable is removed (i.e. undefined) if `value` is `None`.""" + if value is None: + try: + del environ['_'.join((namespace, varname))] + except KeyError: + pass + else: + environ['_'.join((namespace, varname))] = value # cf. https://github.com/karelzak/util-linux/blob/master/lib/colors.c#L107