@@ -957,16 +957,17 @@ def getlist(self, name, sep="\n"):
957
957
958
958
def getdict (self , name , default = None , sep = "\n " , replace = True ):
959
959
value = self .getstring (name , None , replace = replace )
960
- return self ._getdict (value , default = default , sep = sep )
960
+ return self ._getdict (value , default = default , sep = sep , replace = replace )
961
961
962
962
def getdict_setenv (self , name , default = None , sep = "\n " , replace = True ):
963
963
value = self .getstring (name , None , replace = replace , crossonly = True )
964
- definitions = self ._getdict (value , default = default , sep = sep )
964
+ definitions = self ._getdict (value , default = default , sep = sep ,
965
+ replace = replace )
965
966
self ._setenv = SetenvDict (definitions , reader = self )
966
967
return self ._setenv
967
968
968
- def _getdict (self , value , default , sep ):
969
- if value is None :
969
+ def _getdict (self , value , default , sep , replace = True ):
970
+ if value is None or not replace :
970
971
return default or {}
971
972
972
973
d = {}
@@ -979,7 +980,7 @@ def _getdict(self, value, default, sep):
979
980
980
981
def getbool (self , name , default = None , replace = True ):
981
982
s = self .getstring (name , default , replace = replace )
982
- if not s :
983
+ if not s or not replace :
983
984
s = default
984
985
if s is None :
985
986
raise KeyError ("no config value [%s] %s found" % (
0 commit comments