diff options
Diffstat (limited to 'pywhoisd.py')
-rwxr-xr-x | pywhoisd.py | 50 |
1 files changed, 34 insertions, 16 deletions
diff --git a/pywhoisd.py b/pywhoisd.py index 7832cae..6b8a36d 100755 --- a/pywhoisd.py +++ b/pywhoisd.py @@ -1,51 +1,69 @@ #!/usr/bin/python3 import configparser -import whoiscore +import core class PyWhoisD(): """Main class. It reads the configuration options and starts the server""" def __init__(self): self.config = configparser.ConfigParser() - self.config.read('pywhoisd.conf') + self.config.read('examples/pywhoisd.conf') self.data = None self.daemon = None # What kind of storage are we using? def config_data(self): + """Config data sources. + + Only XML is supported. + """ + mode = self.config['Storage']['mode'] if mode == 'xml': self.data = WhoisData.WhoisDataXML(self.config) def config_daemon(self): + """Config common information source for all configured servers""" + self.config_data() self.daemon = WhoisDaemon(self.data) - # Returns true if web server is enabled - def webserver(self): - return self.config.get('Servers', 'web') == 'yes' + + def web(self): + """Returns true if web server is enabled""" + + return self.config['Servers']['web'] == 'yes' - # Returns true if web server is enabled - def classicserver(self): - self.config.get('Servers', 'classic') == 'yes' + + def classic(self): + """Returns true if web server is enabled""" + + self.config['Servers']['classic'] == 'yes' def config_servers(self): - if self.classicserver(): - self.classic_server = whoiscore.WhoisServer(self.config, self.daemon) + """Sets up server configuration from config files""" + + if self.classic(): + self.classic_server = core.WhoisClassicServer(self.config, self.daemon) - if self.webserver(self): - self.web_server = whoiscore.WhoisWebServer(self.config, self.daemon) + if self.web(): + self.web_server = core.WhoisWebServer(self.config, self.daemon) def start_servers(self): - if self.classicserver(): self.classic_server.start() - if self.webserver(): self.web_server.start() + """Start configured servers""" + + self.config_servers() + + if self.classic(): + self.classic_server.start() + + if self.web(): + self.web_server.start() def main(self): self.config_daemon() - self.config_servers() - self.start_servers() if __name__ == "__main__": |