From 01aa58c5d7947e37bc3f0a927c2ed809873122a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Wed, 1 Aug 2012 18:05:04 -0300 Subject: New scheme. Starting port to python 3. It's now or never! --- pywhoisd.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 pywhoisd.py (limited to 'pywhoisd.py') diff --git a/pywhoisd.py b/pywhoisd.py new file mode 100755 index 0000000..7832cae --- /dev/null +++ b/pywhoisd.py @@ -0,0 +1,53 @@ +#!/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() -- cgit v1.2.3