fix bugs and solve world poverty.
[zanchey/dispense2.git] / sql-edition / servers / VendServer.py
index 0b45a40..17d29d0 100755 (executable)
@@ -396,7 +396,7 @@ def make_selection(v, vstatus):
                        logging.warning('user %s tried to dispense a bad door'%vstatus.username)
                        vstatus.mk.set_message(center('BAD DOOR'))
                sleep(1)
-       elif vstatus.cur_selection == '91':
+       elif vstatus.cur_selection == '81':
                cookie(v)
        elif vstatus.cur_selection == '99':
                scroll_options(vstatus.username, vstatus.mk)
@@ -416,14 +416,14 @@ def make_selection(v, vstatus):
                        price, shortname, name = get_snack( '--' )
                dollarprice = "$%.2f" % ( price / 100.0 )
                v.display(vstatus.cur_selection+' - %s'%dollarprice)
-               exitcode = os.system('su - "%s" -c "dispense give oday %d"'%(vstatus.username, price))
+               exitcode = os.system('su - "%s" -c "dispense give oday %d"'%(vstatus.username, price)) >> 8
                if (exitcode == 0):
                        # magic dispense syslog service
                        syslog.syslog(syslog.LOG_INFO | syslog.LOG_LOCAL4, "vended %s (slot %s) for %s" % (name, vstatus.cur_selection, vstatus.username))
                        v.vend(vstatus.cur_selection)
                        v.display('THANK YOU')
                else:
-                       syslog.syslog(syslog.LOG_INFO | syslog.LOG_LOCAL4, "failed vending %s (slot %s) for %s, code %d" % (name, vstatus.cur_selection, vstatus.username, exitcode))
+                       syslog.syslog(syslog.LOG_INFO | syslog.LOG_LOCAL4, "failed vending %s (slot %s) for %s (code %d)" % (name, vstatus.cur_selection, vstatus.username, exitcode))
                        v.display('NO MONEY?')
        sleep(1)
 
@@ -467,19 +467,63 @@ def handle_getting_pin_key(state, event, params, v, vstatus):
 def handle_getting_uid_key(state, event, params, v, vstatus):
        #print "handle_getting_uid_key (s,e,p)", state, " ", event, " ", params
        key = params
+
        # complicated key handling here:
-       if len(vstatus.cur_user) < 5:
+
+
+
+       if len(vstatus.cur_user) <8:
                if key == 11:
                        vstatus.cur_user = ''
 
                        reset_idler(v, vstatus)
                        return
-
                vstatus.cur_user += chr(key + ord('0'))
-               vstatus.mk.set_message('UID: '+vstatus.cur_user)
+               #logging.info('dob: '+vstatus.cur_user)
+               if len(vstatus.cur_user) > 5:
+                       vstatus.mk.set_message('>'+vstatus.cur_user)
+               else:
+                       vstatus.mk.set_message('UID: '+vstatus.cur_user)
+       
+
+       # Easter egg for nikita's birthday -- DGB
+       if len(vstatus.cur_user) == 8:
+               if vstatus.cur_user != "07051980":
+                       vstatus.mk.set_messages(
+                               [(' '*9+'ONE MORE TRY NiKiTa'+' '*10, False, 3)])
+                       vstatus.cur_user = ''
+                       reset_idler(v, vstatus, 3)
+                       return
+
+               # Do stuff here
+               vstatus.mk.set_messages(
+               [(center('                  GUILD MAILBOX NUMBER 64                  '), False, 20),
+               (center('                  GUILD MAILBOX NUMBER 64                  '), False, 20),
+               (center('                  GUILD MAILBOX NUMBER 64                  '), False, 20),
+               (center('                  GUILD MAILBOX NUMBER 64                  '), False, 20)])
 
+               # Reset
+               vstatus.cur_user = ''
+               vstatus.cur_pin = ''
+               #reset_idler(v, vstatus, 10)
+               reset_idler(v, vstatus, 2)
+               return
+       # End easter egg part 1
        if len(vstatus.cur_user) == 5:
                uid = int(vstatus.cur_user)
+
+               # Easter egg for nikita's birthday -- DGB
+               if vstatus.cur_user == '07051':
+                       if key == 11:
+                               vstatus.cur_user = ''
+                               reset_idler(v, vstatus)
+                               return
+#                      vstatus.cur_user += chr(key + ord('0'))
+                       logging.info(' == 5 dob: '+vstatus.cur_user)
+                       vstatus.mk.set_message('>'+vstatus.cur_user)
+                       return
+               # end easter egg part 2
+
                if uid == 0:
                        logging.info('user '+vstatus.cur_user+' has a bad PIN')
                        pfalken="""
@@ -679,14 +723,14 @@ def handle_door_idle(state, event, params, v, vstatus):
        pass
 
 def handle_door_event(state, event, params, v, vstatus):
-       if params == 1:  #door open
+       if params == 0:  #door open
                vstatus.change_state(STATE_DOOR_OPENING)
                logging.warning("Entering open door mode")
                v.display("-FEED  ME-")
                #door_open_mode(v);
                vstatus.cur_user = ''
                vstatus.cur_pin = ''
-       elif params == 0:  #door closed
+       elif params == 1:  #door closed
                vstatus.change_state(STATE_DOOR_CLOSING)
                reset_idler(v, vstatus, 3)
 

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