fix bernard's indentation
[zanchey/dispense2.git] / sql-edition / servers / VendServer.py
index cea3cfa..4a601b7 100755 (executable)
@@ -8,10 +8,12 @@ if USE_DB: import pg
 from time import time, sleep
 from popen2 import popen2
 from LATClient import LATClient
-from VendingMachine import VendingMachine
+from VendingMachine import VendingMachine, VendingException
 from HorizScroll import HorizScroll
 from random import random, seed
 from Idler import TrainIdler,GrayIdler
+import socket
+from traceback import print_tb
 
 GREETING = 'UCC SNACKS'
 PIN_LENGTH = 4
@@ -109,7 +111,7 @@ def verify_user_pin(uid, pin):
        else:
                return None
 
-def door_open_mode(vending_machine):
+def door_open_mode(v):
        print "Entering open door mode"
        v.display("-FEED  ME-")
        while True:
@@ -406,7 +408,16 @@ if __name__ == '__main__':
        PrivPassword = cp.get('DecServer', 'PrivPassword')
 
        while True:
-               rfh, wfh = connect_to_vend(options, DBServer, DBName, DBUser, DBPassword, ServiceName, ServicePassword, ServerName, ConnectPassword, PrivPassword)
+               try:
+                       rfh, wfh = connect_to_vend(options, DBServer, DBName, DBUser, DBPassword, ServiceName, ServicePassword, ServerName, ConnectPassword, PrivPassword)
+               except Exception:
+                       (exc_type, exc_value, exc_traceback) = sys.exc_info()
+                       print "Connection error ("+str(exc_type)+"):"
+                       print_tb(exc_traceback)
+                       del exc_traceback
+                       print "Trying again in 5 seconds."
+                       sleep(5)
+                       continue
                try:
                        run_forever(rfh, wfh)
                except VendingException:

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