From 8c34554762b95acefc6348ddd8067e45115e7940 Mon Sep 17 00:00:00 2001 From: James Bunton Date: Sun, 6 Aug 2017 21:12:43 +1000 Subject: [PATCH] ffclicker: Remove cherrypy dependency --- ffclicker | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/ffclicker b/ffclicker index 46eab35..add810b 100755 --- a/ffclicker +++ b/ffclicker @@ -1,16 +1,22 @@ #!/usr/bin/python3 -import cherrypy +import http.server import os import sys +import urllib import webbrowser -class Listener(object): - @cherrypy.expose - def firefox(self, url): +class FirefoxServer(http.server.BaseHTTPRequestHandler): + def do_GET(self): + query_string = self.path.partition("?")[2] + url = urllib.parse.parse_qs(query_string)["url"][0] + print("Loading:", url) webbrowser.open(url) - raise cherrypy.HTTPRedirect(url, status=303) + + self.send_response(code=303) + self.send_header("Location", url) + self.end_headers() def do_fork(): pid = os.fork() @@ -23,10 +29,9 @@ def do_fork(): def main(fork): if fork: do_fork() - cherrypy.tree.mount(Listener()) - cherrypy.server.socket_host = "0.0.0.0" - cherrypy.server.socket_port = 8080 - cherrypy.engine.start() + + with http.server.HTTPServer(("0.0.0.0", 8080), FirefoxServer) as httpd: + httpd.serve_forever() if __name__ == "__main__": fork = False @@ -37,4 +42,3 @@ if __name__ == "__main__": print("Usage: %s [--fork]" % sys.argv[0], file=sys.stderr) sys.exit(1) main(fork) - -- 2.39.2