diff options
author | Raúl Benencia <rbenencia@linti.unlp.edu.ar> | 2012-08-01 18:05:04 -0300 |
---|---|---|
committer | Raúl Benencia <rbenencia@linti.unlp.edu.ar> | 2012-08-01 18:05:04 -0300 |
commit | 01aa58c5d7947e37bc3f0a927c2ed809873122a3 (patch) | |
tree | 31eb413ef072c5bc56da31b5820bb2be960d3726 /pywhoisd.py | |
parent | 9eaa4fb13a8f761e4be0abec042501d600b4de10 (diff) |
New scheme. Starting port to python 3. It's now or never!
Diffstat (limited to 'pywhoisd.py')
-rwxr-xr-x | pywhoisd.py | 53 |
1 files changed, 53 insertions, 0 deletions
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() |