]> code.delx.au - mediapc-tools/blobdiff - ffclicker
xfdesktop-focus-fix
[mediapc-tools] / ffclicker
index 9fa68d3aee3869c79091b78a9c77436bf717b443..add810b0ac235ace189ad28533b5723f89b2714a 100755 (executable)
--- a/ffclicker
+++ b/ffclicker
@@ -1,40 +1,44 @@
-#!/usr/bin/python
+#!/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):
-               print "Loading:", url
-               webbrowser.open(url)
-               raise cherrypy.HTTPRedirect(url, status=303)
+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)
+
+        self.send_response(code=303)
+        self.send_header("Location", url)
+        self.end_headers()
 
 def do_fork():
-       pid = os.fork()
-       if pid < 0:
-               print >>sys.stderr, "Unable to fork!"
-               sys.exit(1)
-       if pid != 0:
-               sys.exit(0)
+    pid = os.fork()
+    if pid < 0:
+        print("Unable to fork!", file=sys.stderr)
+        sys.exit(1)
+    if pid != 0:
+        sys.exit(0)
 
 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()
+    if fork:
+        do_fork()
 
-if __name__ == "__main__":
-       fork = False
-       if len(sys.argv) != 1:
-               if sys.argv[1] == "--fork":
-                       fork = True
-               else:
-                       print >>sys.stderr, "Usage: %s [--fork]" % sys.argv[0]
-                       sys.exit(1)
-       main(fork)
+    with http.server.HTTPServer(("0.0.0.0", 8080), FirefoxServer) as httpd:
+        httpd.serve_forever()
 
+if __name__ == "__main__":
+    fork = False
+    if len(sys.argv) != 1:
+        if sys.argv[1] == "--fork":
+            fork = True
+        else:
+            print("Usage: %s [--fork]" % sys.argv[0], file=sys.stderr)
+            sys.exit(1)
+    main(fork)