Mercurial > hgrepos > Python > libs > ConfigMix
comparison configmix/config.py @ 349:83f76a41cf7c
Implement a special filter named "None" that suppresses "KeyErrors" from interpolation lookups and returns a Python "None" instead
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 24 Jun 2021 09:33:22 +0200 |
| parents | a04cd5dbcd2c |
| children | 9d729c479dc2 |
comparison
equal
deleted
inserted
replaced
| 348:396d8d9aaead | 349:83f76a41cf7c |
|---|---|
| 343 end = s.find(self._ENDTOK, start) | 343 end = s.find(self._ENDTOK, start) |
| 344 if end < 0: | 344 if end < 0: |
| 345 return s | 345 return s |
| 346 varname, filters = self._split_filters(s[start+2:end]) | 346 varname, filters = self._split_filters(s[start+2:end]) |
| 347 try: | 347 try: |
| 348 varvalue = self._apply_filters(filters, self.getvar_s(varname)) | 348 if "None" in filters: |
| 349 varvalue = self._apply_filters( | |
| 350 filters, self.getvar_s(varname, default=None)) | |
| 351 else: | |
| 352 varvalue = self._apply_filters( | |
| 353 filters, self.getvar_s(varname)) | |
| 349 except KeyError: | 354 except KeyError: |
| 350 warnings.warn("Cannot expand variable %r in string " | 355 warnings.warn("Cannot expand variable %r in string " |
| 351 "%r" % (varname, s, ), | 356 "%r" % (varname, s, ), |
| 352 UserWarning, | 357 UserWarning, |
| 353 stacklevel=1) | 358 stacklevel=1) |
