Exclude code location from code base URL 21/107221/2
authorPawel Wieczorek <p.wieczorek2@samsung.com>
Thu, 30 Apr 2020 15:04:51 +0000 (17:04 +0200)
committerBartek Grzybowski <b.grzybowski@partner.samsung.com>
Fri, 8 May 2020 07:22:19 +0000 (07:22 +0000)
commit7be9861d562abc762d65a4efd7cf49b493d70206
treed0a340c18d5f1bedc71b7aff33456a0585cef0e9
parent937fe44cefb6a749ad39e2e332881b0cf32b7cf1
Exclude code location from code base URL

Python method str.format allows easy templating using substitutions
identified by braces ('{' and '}'). Using two levels of nested
substitutions can be achieved by doubling braces ("{{" and "}}").

Hound configuration creator script was supposed to use two levels of
nested substitutions and still leave braced components within the
templated string for further substitution by the Hound tool. This would
require using multitude of braces which would decrease readability
significantly.

This is why code location template is appended to the code base URL at
the latest.

If there will be need for more levels of nested templates, this code
shall be further refactored to use only named fields, str.format_map()
(available in Python 3.2+) and SafeDict, e.g.

  >>> class SafeDict(dict):
  ...     def __missing__(self, key):
  ...         return '{' + key + '}'
  ...

which would leave braced components within the processed template in
case given key is missing.

Issue-ID: ONAPARC-579
Change-Id: I420d076867aa891edb2a945a8cd58e168c892ac3
Signed-off-by: Pawel Wieczorek <p.wieczorek2@samsung.com>
bootstrap/codesearch/create_config.py