]> code.delx.au - mediapc-tools/commitdiff
ffclicker: load pages in Firefox
authorJames Bunton <jamesbunton@delx.net.au>
Sun, 17 Feb 2013 11:53:51 +0000 (22:53 +1100)
committerJames Bunton <jamesbunton@delx.net.au>
Sun, 17 Feb 2013 11:53:51 +0000 (22:53 +1100)
ffclicker [new file with mode: 0755]

diff --git a/ffclicker b/ffclicker
new file mode 100755 (executable)
index 0000000..9fa68d3
--- /dev/null
+++ b/ffclicker
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+import cherrypy
+import os
+import sys
+import webbrowser
+
+class Listener(object):
+       @cherrypy.expose
+       def firefox(self, url):
+               print "Loading:", url
+               webbrowser.open(url)
+               raise cherrypy.HTTPRedirect(url, status=303)
+
+def do_fork():
+       pid = os.fork()
+       if pid < 0:
+               print >>sys.stderr, "Unable to fork!"
+               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 __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)
+