diff options
author | Raúl Benencia <rbenencia@linti.unlp.edu.ar> | 2012-08-02 22:51:17 -0300 |
---|---|---|
committer | Raúl Benencia <rbenencia@linti.unlp.edu.ar> | 2012-08-02 22:51:17 -0300 |
commit | 9d13223e971c1bb37b141cb0b0a3a7dd4077f4d8 (patch) | |
tree | e5894afd118054f58d6dd19cc95bb8db93208ed0 /pywhoisd.py | |
parent | ee504272d535dcfab2d00948a1b005b87dc6605a (diff) |
Fix various semantic errors
Diffstat (limited to 'pywhoisd.py')
-rwxr-xr-x | pywhoisd.py | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/pywhoisd.py b/pywhoisd.py index 6572cac..11ad133 100755 --- a/pywhoisd.py +++ b/pywhoisd.py @@ -1,5 +1,6 @@ #!/usr/bin/python3 import configparser +import concurrent.futures import core import model @@ -9,10 +10,14 @@ class PyWhoisD(): def __init__(self): self.config = configparser.ConfigParser() - self.config.read('examples/pywhoisd.conf') + self.config.read('pywhoisd.conf') self.data = None self.daemon = None + self.classic_server = None + self.web_server = None + + self.executor = concurrent.futures.ThreadPoolExecutor(max_workers=2) # What kind of storage are we using? def config_data(self): @@ -24,7 +29,7 @@ class PyWhoisD(): mode = self.config['Storage']['mode'] if mode == 'xml': - self.data = xml.DataXML(self.config) + self.data = model.DataXML(self.config) def config_daemon(self): """Config common information source for all configured servers""" @@ -40,34 +45,44 @@ class PyWhoisD(): def classic(self): - """Returns true if web server is enabled""" + """Returns true if classic whois server is enabled""" - self.config['Servers']['classic'] == 'yes' + return self.config['Servers']['classic'] == 'yes' def config_servers(self): """Sets up server configuration from config files""" if self.classic(): - self.classic_server = core.ClassicServer(self.config, self.daemon) + self.classic_server = core.ClassicServer(self.config, self.daemon) + else: + print("[+] Classic server is not enabled") if self.web(): self.web_server = core.WebServer(self.config, self.daemon) + else: + print("[+] Web server is not enabled") + def start_servers(self): - """Start configured servers""" + """Properly configure and start configured servers""" self.config_servers() - if self.classic(): - self.classic_server.start() + if self.classic_server: + print("[+] Starting classic whois server") + self.executor.submit(self.classic_server.serve_forever) - if self.web(): - self.web_server.start() + if self.web_server: + self.executor.submit(self.web_server.serve_forever) + def main(self): self.config_daemon() self.start_servers() + # Wait for running server to finish. Probably never. + self.executor.shutdown() + if __name__ == "__main__": pwd = PyWhoisD() pwd.main() |