checks 0.1.6

This commit is contained in:
Alexander Zhirov 2023-03-26 02:03:03 +03:00
parent 29c71dd6f9
commit 0a4bda2efd
1 changed files with 13 additions and 8 deletions

View File

@ -26,7 +26,7 @@ private:
/** /**
* Reading the configuration file * Reading the configuration file
*/ */
void readConfig() bool readConfig()
{ {
File configuration; File configuration;
@ -35,7 +35,7 @@ private:
} catch (Exception e) { } catch (Exception e) {
Log.msg.error("Unable to open the configuration file " ~ this.path); Log.msg.error("Unable to open the configuration file " ~ this.path);
Log.msg.warning(e); Log.msg.warning(e);
return; return false;
} }
auto regular = regex(this.pattern, "m"); auto regular = regex(this.pattern, "m");
@ -81,8 +81,10 @@ private:
} catch (Exception e) { } catch (Exception e) {
Log.msg.error("Unable to close the configuration file " ~ this.path); Log.msg.error("Unable to close the configuration file " ~ this.path);
Log.msg.warning(e); Log.msg.warning(e);
return; this.readed = false;
} }
return this.readed;
} }
this() {} this() {}
@ -105,15 +107,16 @@ public:
* Params: * Params:
* path = the path to the configuration file * path = the path to the configuration file
*/ */
void read(string path) bool read(string path)
{ {
this.path = path; this.path = path;
if (!path.exists) if (!path.exists)
{ {
Log.msg.error("The configuration file does not exist: " ~ path); Log.msg.error("The configuration file does not exist: " ~ path);
return; return false;
} }
readConfig();
return readConfig();
} }
/** /**
@ -123,7 +126,7 @@ public:
*/ */
@property ConfigSection sectionName(string section = "[]") @property ConfigSection sectionName(string section = "[]")
{ {
return sections[section]; return section in sections ? sections[section] : ConfigSection();
} }
/** /**
@ -170,8 +173,10 @@ struct ConfigSection
return this.parameters; return this.parameters;
} }
void add(ConfigParameter parameter) private void add(ConfigParameter parameter)
{ {
if (parameter.property in parameters)
Log.msg.warning("The parameter exists but will be overwritten");
this.parameters[parameter.property] = parameter; this.parameters[parameter.property] = parameter;
} }
} }