diff options
Diffstat (limited to 'main.py')
-rwxr-xr-x | main.py | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -0,0 +1,51 @@ +#!/usr/bin/python +import ConfigParser +import whoiscore + +class PyWhoisD(): + def __init__(self): + self.config = ConfigParser.RawConfigParser() + 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.get('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() |