summaryrefslogtreecommitdiff
path: root/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'main.py')
-rwxr-xr-xmain.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/main.py b/main.py
new file mode 100755
index 0000000..9205304
--- /dev/null
+++ b/main.py
@@ -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()
nihil fit ex nihilo