Update and add documentation
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
diff --git a/scripts/config.py b/scripts/config.py
index ad1f787..120c827 100755
--- a/scripts/config.py
+++ b/scripts/config.py
@@ -389,7 +389,10 @@
return continuation
class ConfigFile(metaclass=ABCMeta):
+ """Representation of a configuration file."""
+
def __init__(self, default_path, filename=None, name=''):
+ """Check if the config file exists."""
if filename is None:
for candidate in default_path:
if os.path.lexists(candidate):
@@ -418,7 +421,9 @@
_ifndef_line_regexp,
_section_line_regexp]))
def _parse_line(self, line):
- """Parse a line in the config file and return the corresponding template."""
+ """Parse a line in the config file, save the templates representing the lines
+ and return the corresponding setting element.
+ """
line = line.rstrip('\r\n')
m = re.match(self._config_line_regexp, line)
if m is None:
@@ -449,6 +454,7 @@
return (active, name, value, self.current_section)
def parse_file(self):
+ """Parse the whole file and return the settings."""
with open(self.filename, 'r', encoding='utf-8') as file:
for line in file:
setting = self._parse_line(line)
@@ -481,6 +487,8 @@
self.write_to_stream(settings, output)
class MbedtlsConfigFile(ConfigFile):
+ """Representation of an MbedTLS configuration file."""
+
_path_in_tree = 'include/mbedtls/mbedtls_config.h'
default_path = [_path_in_tree,
os.path.join(os.path.dirname(__file__),
@@ -517,6 +525,8 @@
value]).rstrip()
class CryptoConfigFile(ConfigFile):
+ """Representation of an Crypto configuration file."""
+
_path_in_tree = 'tf-psa-crypto/include/psa/crypto_config.h'
default_path = [_path_in_tree,
os.path.join(os.path.dirname(__file__),
@@ -545,7 +555,7 @@
value]).rstrip()
class MbedtlsConfig(Config):
- """Representation of the Mbed TLS configuration read for a file.
+ """Representation of the Mbed TLS configuration.
See the documentation of the `Config` class for methods to query
and modify the configuration.
@@ -564,13 +574,17 @@
super().set(name, value)
def write(self, filename=None):
+ """Write the whole configuration to the file it was read from.
+
+ If filename is specified, write to this file instead.
+ """
self.mbedtls_config.write(self.settings, filename)
def filename(self, name):
return self.mbedtls_config.filename
class CryptoConfig(Config):
- """Representation of the PSA crypto configuration read for a file.
+ """Representation of the PSA crypto configuration.
See the documentation of the `Config` class for methods to query
and modify the configuration.
@@ -594,12 +608,21 @@
super().set(name, value)
def write(self, filename=None):
+ """Write the whole configuration to the file it was read from.
+
+ If filename is specified, write to this file instead.
+ """
self.crypto_config.write(self.settings, filename)
def filename(self, name):
return self.crypto_config.filename
class MultiConfig(MbedtlsConfig, CryptoConfig):
+ """Representation of MbedTLS and PSA crypto configuration
+
+ See the documentation of the `Config` class for methods to query
+ and modify the configuration.
+ """
def __init__(self, mbedtls_config, crypto_config):
super().__init__(mbedtls_config=mbedtls_config, crypto_config=crypto_config)
@@ -615,6 +638,11 @@
super(self._get_related_config(name), self).set(name, value)
def write(self, mbedtls_file=None, crypto_file=None):
+ """Write the whole configuration to the file it was read from.
+
+ If mbedtls_file or crypto_file is specified, write the specific configuration
+ to the corresponding file instead.
+ """
self.mbedtls_config.write(self.settings, mbedtls_file)
self.crypto_config.write(self.settings, crypto_file)