#!/usr/bin/python3 import configparser import whoiscore 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.data = None self.daemon = None # What kind of storage are we using? def config_data(self): mode = self.config['Storage']['mode'] if mode == 'xml': self.data = WhoisData.WhoisDataXML(self.config) def config_daemon(self): 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' # Returns true if web server is enabled def classicserver(self): self.config.get('Servers', 'classic') == 'yes' def config_servers(self): if self.classicserver(): self.classic_server = whoiscore.WhoisServer(self.config, self.daemon) if self.webserver(self): self.web_server = whoiscore.WhoisWebServer(self.config, self.daemon) def start_servers(self): if self.classicserver(): self.classic_server.start() if self.webserver(): self.web_server.start() def main(self): self.config_daemon() self.config_servers() self.start_servers() if __name__ == "__main__": pwd = PyWhoisD() pwd.main()