-#!/usr/bin/python
+#!/usr/bin/python2
import cherrypy
import os
import webbrowser
class Listener(object):
- @cherrypy.expose
- def firefox(self, url):
- print "Loading:", url
- webbrowser.open(url)
- raise cherrypy.HTTPRedirect(url, status=303)
+ @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)
+ 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 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)
+ 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)
(
if ! flock -w 10 -x 200; then
- echo "Failed to get a lock!"
- exit 1
+ echo "Failed to get a lock!"
+ exit 1
fi
echo "got lock"
# Unmute everything and turn volume to full
if [ "$1" = "--max-volume" ]; then
- echo "max volume"
- max_volume=1
- shift
- pacmd 'dump' | grep 'set-sink' > "$PULSESTATE"
- cat "$PULSESTATE" | grep 'set-sink-mute' | awk '{print $2;}' | \
- while read device; do
- pacmd "set-sink-volume $device 0x10000" > /dev/null
- pacmd "set-sink-mute $device no" > /dev/null
- done
+ echo "max volume"
+ max_volume=1
+ shift
+ pacmd 'dump' | grep 'set-sink' > "$PULSESTATE"
+ cat "$PULSESTATE" | grep 'set-sink-mute' | awk '{print $2;}' | \
+ while read device; do
+ pacmd "set-sink-volume $device 0x10000" > /dev/null
+ pacmd "set-sink-mute $device no" > /dev/null
+ done
fi
# Switch volume keys to F9/F10 with xmodmap
if [ "$1" = "--switch-volume-keys" ]; then
- echo "switch volume"
- switch_volume=1
- shift
- xmodmap -e 'keycode 122 = F9'
- xmodmap -e 'keycode 123 = F10'
+ echo "switch volume"
+ switch_volume=1
+ shift
+ xmodmap -e 'keycode 122 = F9'
+ xmodmap -e 'keycode 123 = F10'
fi
# Restore volume levels and mute status
if [ -n "$max_volume" ]; then
- cat "$PULSESTATE" | pacmd > /dev/null
+ cat "$PULSESTATE" | pacmd > /dev/null
fi
# Restore volume keys
if [ -n "$switch_volume" ]; then
- xmodmap -e 'keycode 122 = XF86AudioLowerVolume'
- xmodmap -e 'keycode 123 = XF86AudioRaiseVolume'
+ xmodmap -e 'keycode 122 = XF86AudioLowerVolume'
+ xmodmap -e 'keycode 123 = XF86AudioRaiseVolume'
fi
) 200>"$LOCKFILE"
-#!/usr/bin/python
+#!/usr/bin/python2
import MySQLdb
import os
# Remove any symlinks and empty dirs in the tree
for dirpath, dirnames, filenames in os.walk(".", topdown=False):
- for filename in filenames:
- filename = os.path.join(dirpath, filename)
- if os.path.islink(filename):
- os.unlink(filename)
- for dirname in dirnames:
- dirname = os.path.join(dirpath, dirname)
- os.rmdir(dirname)
+ for filename in filenames:
+ filename = os.path.join(dirpath, filename)
+ if os.path.islink(filename):
+ os.unlink(filename)
+ for dirname in dirnames:
+ dirname = os.path.join(dirpath, dirname)
+ os.rmdir(dirname)
# Connect to the MythTV database based on the MythTV config
config_values = {}
for line in open(os.path.expanduser("~/.mythtv/mysql.txt")):
- line = line.strip()
- if line and not line.startswith("#"):
- (key, value) = line.split("=")
- config_values[key] = value
+ line = line.strip()
+ if line and not line.startswith("#"):
+ (key, value) = line.split("=")
+ config_values[key] = value
db_connection = MySQLdb.connect(
- host = config_values["DBHostName"],
- user = config_values["DBUserName"],
- passwd = config_values["DBPassword"],
- db = config_values["DBName"]
+ host = config_values["DBHostName"],
+ user = config_values["DBUserName"],
+ passwd = config_values["DBPassword"],
+ db = config_values["DBName"]
)
cursor = db_connection.cursor(MySQLdb.cursors.DictCursor)
# Find the recordings directory
cursor.execute("""
- SELECT * FROM settings
- WHERE value='RecordFilePrefix' AND hostname='%s'
+ SELECT * FROM settings
+ WHERE value='RecordFilePrefix' AND hostname='%s'
""" % socket.gethostname())
recordingsdir = cursor.fetchone()["data"]
# Now find all the recordings we have at the moment
cursor.execute("""
- SELECT title, subtitle, starttime, basename, watched FROM recorded
+ SELECT title, subtitle, starttime, basename, watched FROM recorded
""")
for row in cursor:
- title = row["title"]
- starttime = str(row["starttime"]).replace(":", "-")
- subtitle = row["subtitle"]
- basename = row["basename"]
- watched = bool(row["watched"])
+ title = row["title"]
+ starttime = str(row["starttime"]).replace(":", "-")
+ subtitle = row["subtitle"]
+ basename = row["basename"]
+ watched = bool(row["watched"])
- title = unsafe.sub("", title)
- subtitle = unsafe.sub("", subtitle)
- extn = os.path.splitext(basename)[1]
+ title = unsafe.sub("", title)
+ subtitle = unsafe.sub("", subtitle)
+ extn = os.path.splitext(basename)[1]
- if subtitle:
- filename = "%s - %s%s" % (starttime, subtitle, extn)
- else:
- filename = "%s%s" % (starttime, extn)
- if watched:
- filename = "watched/" + filename
+ if subtitle:
+ filename = "%s - %s%s" % (starttime, subtitle, extn)
+ else:
+ filename = "%s%s" % (starttime, extn)
+ if watched:
+ filename = "watched/" + filename
- source = "%s/%s" % (recordingsdir, basename)
- dest = "%s/%s" % (title, filename)
+ source = "%s/%s" % (recordingsdir, basename)
+ dest = "%s/%s" % (title, filename)
- if not os.path.isfile(source):
- continue
+ if not os.path.isfile(source):
+ continue
- dirnames = dest.split("/")[:-1]
- for i in xrange(1, len(dirnames)+1):
- dirname = "/".join(dirnames[:i])
- if not os.path.isdir(dirname):
- os.mkdir(dirname)
+ dirnames = dest.split("/")[:-1]
+ for i in xrange(1, len(dirnames)+1):
+ dirname = "/".join(dirnames[:i])
+ if not os.path.isdir(dirname):
+ os.mkdir(dirname)
- os.symlink(source, dest)
+ os.symlink(source, dest)