Move VendServer code up a directory wholesale and rename
[uccvend-vendserver.git] / VendServer / SnackConfig.py
diff --git a/VendServer/SnackConfig.py b/VendServer/SnackConfig.py
new file mode 100755 (executable)
index 0000000..2314074
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+
+class VendingException( Exception ): pass
+
+import subprocess
+import os, re
+
+def get_snack( slot ):
+       
+       if slot == "--":
+               return (0, 'nothing', 'Nothing')
+       cmd = 'dispense iteminfo snack:%s' % slot
+#      print 'cmd = %s' % cmd
+       try:
+#              info = subprocess.check_output(["dispense","iteminfo",'snack:%s'%slot])
+               raw = os.popen(cmd)
+               info = raw.read()
+               raw.close()
+#              print 'cmd (2) = %s' % cmd
+#              print 'info = "%s"' % info
+               m = re.match("\s*[a-z]+:\d+\s+(\d+)\.(\d\d)\s+([^\n]+)", info)
+               val = ( int(m.group(1))*100 + int(m.group(2)), m.group(3), m.group(3) )
+#              print 'Price: %i, Name: %s' % (val[0], val[1])
+       except BaseException as e:
+               print "BaseException"
+               print e
+               val = (0, 'error', 'Error')
+       except:
+               print "Unknown exception"
+               val = (0, 'error', 'Error')
+       return val
+
+def get_price( slot ):
+               p, sn, n = get_snacks( slot )
+               return p
+
+def get_name( slot ):
+               p, sn, n = get_snacks( slot )
+               return n
+
+def get_short_name( slot ):
+               p, sn, n = get_snacks( slot )
+               return sn
+
+if __name__ == '__main__':
+       print "Don't run this"

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