Mercurial > hgrepos > Python > libs > ConfigMix
changeset 491:de776953337b
Remove repeated type(obj) calls
| author | Franz Glasner <f.glasner@feldmann-mg.com> |
|---|---|
| date | Fri, 17 Dec 2021 16:56:31 +0100 |
| parents | ea4b7fac02d6 |
| children | a9a291927a4b |
| files | configmix/config.py |
| diffstat | 1 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/configmix/config.py Fri Dec 17 16:37:26 2021 +0100 +++ b/configmix/config.py Fri Dec 17 16:56:31 2021 +0100 @@ -630,21 +630,22 @@ def substitute_variables_in_obj(self, obj): """Recursively expand variables in the object tree `obj`.""" - if isinstance(obj, self._TEXTTYPE): + ty = type(obj) + if issubclass(ty, self._TEXTTYPE): # a string - really replace the value return self.expand_variable(obj) - elif isinstance(obj, dict): - newdict = type(obj)() + elif issubclass(ty, dict): + newdict = ty() for k in obj: newdict[k] = self.substitute_variables_in_obj(obj[k]) return newdict - elif isinstance(obj, list): + elif issubclass(ty, list): return [self.substitute_variables_in_obj(i) for i in obj] - elif isinstance(obj, tuple): + elif issubclass(ty, tuple): tmp = [self.substitute_variables_in_obj(i) for i in obj] - return type(obj)(tmp) - elif isinstance(obj, set): - newset = type(obj)() + return ty(tmp) + elif issubclass(ty, set): + newset = ty() for i in obj: newset.add(self.substitute_variables_in_obj(i)) else:
