summaryrefslogtreecommitdiffstats
path: root/abs/mv-core/MythVantage-system/grabkey.py
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2008-11-09 03:14:58 (GMT)
committerJames Meyer <james.meyer@operamail.com>2008-11-09 03:14:58 (GMT)
commit5445907db788ab2c7c73ea19fc47d59c862fc6a3 (patch)
tree1b0a868eb5b9d6aa8e7835cbc49c05947b7c75fe /abs/mv-core/MythVantage-system/grabkey.py
parentabc83d46637ebc63479ec745f05ae392f404f04e (diff)
downloadlinhes_pkgbuild-5445907db788ab2c7c73ea19fc47d59c862fc6a3.zip
linhes_pkgbuild-5445907db788ab2c7c73ea19fc47d59c862fc6a3.tar.gz
linhes_pkgbuild-5445907db788ab2c7c73ea19fc47d59c862fc6a3.tar.bz2
MythVantage-config (replaces live-installer) for MythVantage
MythVanate-system (replaces STB-system)
Diffstat (limited to 'abs/mv-core/MythVantage-system/grabkey.py')
-rwxr-xr-xabs/mv-core/MythVantage-system/grabkey.py109
1 files changed, 109 insertions, 0 deletions
diff --git a/abs/mv-core/MythVantage-system/grabkey.py b/abs/mv-core/MythVantage-system/grabkey.py
new file mode 100755
index 0000000..b8bc059
--- /dev/null
+++ b/abs/mv-core/MythVantage-system/grabkey.py
@@ -0,0 +1,109 @@
+#!/usr/bin/python
+#polls the hobbit server for ghost clients. If it finds ghosts it will make a new bb-hosts file
+#with the new clients.
+#Will not add duplicate clients
+#return code of 0 means a new file was written, anything else is an error or no inserts occured
+import urllib2
+import string
+import sys
+import os
+
+def readkeyfile():
+ global keylist
+ try:
+ infile = open('/data/home/mythtv/.ssh/authorized_keys', 'r')
+ except(IOError), e:
+ keylist=''
+ else:
+ keylist = infile.readlines()
+ infile.close()
+
+
+def grabkey(server):
+ global numberlines
+ global mbekey
+ url="http://" + server + ":1337/serverkey.cgi"
+
+ try:
+ f = urllib2.urlopen(url)
+ except urllib2.HTTPError, e:
+ if e.code != 200:
+ print 'error find key'
+ sys.exit(1)
+ else:
+ mbekey = f.readlines()
+ f.close()
+ numberlines = len(mbekey)
+ #print mbekey
+
+
+def makenewkeyfile():
+ global keylist
+ global mbekey
+ global numberlines
+ global numinserts
+ numinserts=0
+ outlist = []
+ for item in keylist:
+ if item not in outlist:
+ outlist.append(item)
+
+ for item in mbekey:
+# line = item.rstrip()
+ #nline = "%s #" % (line)
+ #nline = nline + '\n'
+ if item not in outlist:
+ outlist.append(item)
+ #print "adding: " + item
+ numinserts = numinserts + 1
+ if numinserts > 0:
+ try:
+ outfile = open("/data/home/mythtv/.ssh/authorized_keys","w")
+ except(IOError), e:
+ os.system('mkdir -p /data/home/mythtv/.ssh')
+ outfile = open("/data/home/mythtv/.ssh/authorized_keys","w")
+ for i in outlist:
+ outfile.write(i + '\n' )
+ outfile.close
+ os.system('chown -R mythtv /data/home/mythtv/.ssh')
+ os.system('chmod 700 /data/home/mythtv/.ssh/authorized_keys')
+
+
+global infile
+global keylist
+global numberlines
+global numinserts
+global mbekey
+readkeyfile()
+#print numberlines
+#print mbekey
+
+try:
+ infile = open('/etc/systemconfig', 'r')
+except(IOError), e:
+ sys.exit(1)
+else:
+ keylist = infile.readlines()
+ infile.close()
+for item in keylist:
+ if item.startswith("dbhost"):
+ itemlist=item.split("=")
+ server=itemlist[1].strip()
+ server=server.rstrip()
+ server=server.strip('"')
+ server=server.rstrip('"')
+grabkey(server)
+
+
+if numberlines > 0:
+ makenewkeyfile()
+else:
+ print "nothing to add"
+
+
+if numinserts < 1:
+ sys.exit(1)
+else:
+ sys.exit(0)
+
+