read a bunch of extra options from the config file for dec server rebooting
[uccvend-vendserver.git] / sql-edition / servers / VendServer.py
index a2cdfba..cea3cfa 100755 (executable)
@@ -362,10 +362,10 @@ def run_forever(rfh, wfh):
                                        time_to_autologout = time() + 8
 
 # FIXME: a less ugly way of passing all these options would be nice
-def connect_to_vend(options, DBServer, DBName, DBUser, DBPassword, ServiceName, ServicePassword):
+def connect_to_vend(options, DBServer, DBName, DBUser, DBPassword, ServiceName, ServicePassword, ServerName, ConnectPassword, PrivPassword):
        # Open vending machine via LAT
        if options.use_lat:
-               latclient = LATClient(service = ServiceName, password = ServicePassword)
+               latclient = LATClient(service = ServiceName, password = ServicePassword, server_name = ServerName, connect_password = ConnectPassword, priv_password = PrivPassword)
                rfh, wfh = latclient.get_fh()
        else:
                #(rfh, wfh) = popen2('../../virtualvend/vvend.py')
@@ -400,6 +400,15 @@ if __name__ == '__main__':
 
        ServiceName = cp.get('VendingMachine', 'ServiceName')
        ServicePassword = cp.get('VendingMachine', 'Password')
-       
-       rfh, wfh = connect_to_vend(options, DBServer, DBName, DBUser, DBPassword, ServiceName, ServicePassword)
-       run_forever(rfh, wfh)
+
+       ServerName = cp.get('DecServer', 'Name')
+       ConnectPassword = cp.get('DecServer', 'ConnectPassword')
+       PrivPassword = cp.get('DecServer', 'PrivPassword')
+
+       while True:
+               rfh, wfh = connect_to_vend(options, DBServer, DBName, DBUser, DBPassword, ServiceName, ServicePassword, ServerName, ConnectPassword, PrivPassword)
+               try:
+                       run_forever(rfh, wfh)
+               except VendingException:
+                       print "Connection died, trying again..."
+

UCC git Repository :: git.ucc.asn.au