summaryrefslogtreecommitdiffstats
path: root/tupkg/server/tupkgs
diff options
context:
space:
mode:
Diffstat (limited to 'tupkg/server/tupkgs')
-rwxr-xr-xtupkg/server/tupkgs37
1 files changed, 34 insertions, 3 deletions
diff --git a/tupkg/server/tupkgs b/tupkg/server/tupkgs
index 4dd085b6..213e462b 100755
--- a/tupkg/server/tupkgs
+++ b/tupkg/server/tupkgs
@@ -22,8 +22,16 @@ import struct
import cgi
import urllib
import md5
+import MySQLdb
+import MySQLdb.connections
+import ConfigParser
+import getopt
+import os.path
CACHEDIR = '/var/cache/tupkgs/'
+CONFIGFILE = '/etc/tupkgs.conf'
+
+config = ConfigParser.ConfigParser()
class ClientFile:
def __init__(self, filename, actual_size, actual_md5):
@@ -155,23 +163,46 @@ class ServerSocket(threading.Thread):
sread, swrite, serror = select.select([self.socket],[self.socket],[self.socket],5)
if sread:
(clientsocket, address) = self.socket.accept()
+ print "New connection from " + str(address)
ct = ClientSocket(clientsocket)
ct.start()
self.clients.append(ct)
- print len(self.clients)
self.clients = filter(self._clean, self.clients)
- print len(self.clients)
self.socket.close()
[x.close() for x in self.clients]
[x.join() for x in self.clients]
+def usage(name):
+ print "usage: " + name + " [options]"
+ print "options:"
+ print " -c, --config Specify an alternate config file (default " + CONFIGFILE + ")"
+ sys.exit(2)
+
def main(argv=None):
if argv is None:
argv = sys.argv
+ try:
+ optlist, args = getopt.getopt(argv[1:], "c:", ["config="])
+ except getopt.GetoptError:
+ usage(argv[0])
+
+ conffile = CONFIGFILE
+
+ for i, k in optlist:
+ if i in ('-c', '--config'):
+ conffile = k
+
+ if not os.path.isfile(conffile):
+ print "Error: cannot access config file ("+conffile+")"
+ usage(argv[0])
+
+ config.read(conffile)
+
running = 1
+ print "Starting ServerSocket"
servsock = ServerSocket()
servsock.start()
@@ -182,7 +213,7 @@ def main(argv=None):
except KeyboardInterrupt:
running = 0
- print "Just cleaning up stuff"
+ print "Cleaning up stuff"
servsock.close()