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 cgi
|
||||||
import urllib
|
import urllib
|
||||||
import md5
|
import md5
|
||||||
|
import MySQLdb
|
||||||
|
import MySQLdb.connections
|
||||||
|
import ConfigParser
|
||||||
|
import getopt
|
||||||
|
import os.path
|
||||||
|
|
||||||
CACHEDIR = '/var/cache/tupkgs/'
|
CACHEDIR = '/var/cache/tupkgs/'
|
||||||
|
CONFIGFILE = '/etc/tupkgs.conf'
|
||||||
|
|
||||||
|
config = ConfigParser.ConfigParser()
|
||||||
|
|
||||||
class ClientFile:
|
class ClientFile:
|
||||||
def __init__(self, filename, actual_size, actual_md5):
|
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)
|
sread, swrite, serror = select.select([self.socket],[self.socket],[self.socket],5)
|
||||||
if sread:
|
if sread:
|
||||||
(clientsocket, address) = self.socket.accept()
|
(clientsocket, address) = self.socket.accept()
|
||||||
|
print "New connection from " + str(address)
|
||||||
ct = ClientSocket(clientsocket)
|
ct = ClientSocket(clientsocket)
|
||||||
ct.start()
|
ct.start()
|
||||||
self.clients.append(ct)
|
self.clients.append(ct)
|
||||||
|
|
||||||
print len(self.clients)
|
|
||||||
self.clients = filter(self._clean, self.clients)
|
self.clients = filter(self._clean, self.clients)
|
||||||
print len(self.clients)
|
|
||||||
self.socket.close()
|
self.socket.close()
|
||||||
[x.close() for x in self.clients]
|
[x.close() for x in self.clients]
|
||||||
[x.join() 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):
|
def main(argv=None):
|
||||||
if argv is None:
|
if argv is None:
|
||||||
argv = sys.argv
|
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
|
running = 1
|
||||||
|
|
||||||
|
print "Starting ServerSocket"
|
||||||
servsock = ServerSocket()
|
servsock = ServerSocket()
|
||||||
servsock.start()
|
servsock.start()
|
||||||
|
|
||||||
|
@ -182,7 +213,7 @@ def main(argv=None):
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
running = 0
|
running = 0
|
||||||
|
|
||||||
print "Just cleaning up stuff"
|
print "Cleaning up stuff"
|
||||||
|
|
||||||
servsock.close()
|
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