mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
added a little bit better messaging, getopts to server side, stuff for mysql access, and config file support
This commit is contained in:
parent
a4710414e0
commit
25b0104806
2 changed files with 38 additions and 3 deletions
|
@ -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()
|
||||
|
||||
|
|
4
tupkg/server/tupkgs.conf
Normal file
4
tupkg/server/tupkgs.conf
Normal file
|
@ -0,0 +1,4 @@
|
|||
[mysql]
|
||||
username = aur
|
||||
password = aur
|
||||
host = localhost
|
Loading…
Add table
Reference in a new issue