Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
UCC
UCC Snack Machine Server Code
Commits
db55f34e
Commit
db55f34e
authored
Apr 04, 2015
by
Mitchell Pomery
Committed by
Mark Tearle
Apr 05, 2015
Browse files
Removed large chunks of unused code
parent
d51a435a
Changes
1
Hide whitespace changes
Inline
Side-by-side
VendServer/VendServer.py
View file @
db55f34e
...
...
@@ -201,96 +201,6 @@ class VendServer():
# Send it to the display
mk
.
set_messages
(
msg
)
"""
Verify the users pin
"""
"""
def _check_pin(self, uid, pin):
print "_check_pin('",uid,"',---)"
if uid != self._pin_uid:
try:
info = pwd.getpwuid(uid)
except KeyError:
logging.info('getting pin for uid %d: user not in password file'%uid)
return None
if info.pw_dir == None: return False
pinfile = os.path.join(info.pw_dir, '.pin')
try:
s = os.stat(pinfile)
except OSError:
logging.info('getting pin for uid %d: .pin not found in home directory'%uid)
return None
if s.st_mode & 077:
logging.info('getting pin for uid %d: .pin has wrong permissions. Fixing.'%uid)
os.chmod(pinfile, 0600)
try:
f = file(pinfile)
except IOError:
logging.info('getting pin for uid %d: I cannot read pin file'%uid)
return None
pinstr = f.readline()
f.close()
if not re.search('^'+'[0-9]'*PIN_LENGTH+'$', pinstr):
logging.info('getting pin for uid %d: %s not a good pin'%(uid,repr(pinstr)))
return None
self._pin_uid = uid
self._pin_pin = pinstr
self._pin_uname = info.pw_name
else:
pinstr = self._pin_pin
if pin == int(pinstr):
logging.info("Pin correct for %d",uid)
else:
logging.info("Pin incorrect for %d",uid)
return pin == int(pinstr)
"""
"""
Check if the users account has been disabled
"""
"""
def acct_is_disabled(self, name=None):
if name == None:
name = self._pin_uname
acct, unused = Popen(['dispense', 'acct', self._pin_uname], close_fds=True, stdout=PIPE).communicate()
# this is fucking appalling
flags = acct[acct.find("(")+1:acct.find(")")].strip()
if 'disabled' in flags:
return True
if 'internal' in flags:
return True
return False
"""
"""
Check that the user has a valid pin set
"""
"""
def has_good_pin(self, uid):
return self._check_pin(uid, None) != None
"""
"""
Verify the users pin.
"""
"""
def verify_user_pin(self, uid, pin, skip_pin_check=False):
if skip_pin_check or self._check_pin(uid, pin) == True:
info = pwd.getpwuid(uid)
if skip_pin_check:
if self.acct_is_disabled(info.pw_name):
logging.info('refused mifare for disabled acct uid %d (%s)'%(uid,info.pw_name))
return '-disabled-'
logging.info('accepted mifare for uid %d (%s)'%(uid,info.pw_name))
else:
logging.info('accepted pin for uid %d (%s)'%(uid,info.pw_name))
return info.pw_name
else:
logging.info('refused pin for uid %d'%(uid))
return None
"""
"""
In here just for fun.
"""
...
...
@@ -579,25 +489,6 @@ class VendServer():
self
.
v
.
display
(
'UNK ERROR'
)
sleep
(
1
)
"""
Find the price of an item.
"""
"""
def price_check():
if self.vstatus.cur_selection[1] == '8':
args = ('dispense', 'iteminfo', 'coke:' + self.vstatus.cur_selection[0])
info, unused = Popen(args, close_fds=True, stdout=PIPE).communicate()
dollarprice = re.match("\s*[a-z]+:\d+\s+(\d+\.\d\d)\s+([^
\n
]+)", info).group(1)
else:
# first see if it's a named slot
try:
price, shortname, name = get_snack( self.vstatus.cur_selection )
except:
price, shortname, name = get_snack( '--' )
dollarprice = "$%.2f" % ( price / 100.0 )
self.v.display(self.vstatus.cur_selection+' - %s'%dollarprice)
"""
"""
Triggered when the user presses a button while entering their pin.
"""
...
...
@@ -707,19 +598,7 @@ class VendServer():
return
"""
if not self.has_good_pin(uid):
logging.info('user '+self.vstatus.cur_user+' has a bad PIN')
self.vstatus.mk.set_messages(
[(' '*10+'INVALID PIN SETUP'+' '*11, False, 3)])
self.vstatus.cur_user = ''
self.vstatus.cur_pin = ''
self.reset_idler(3)
return
"""
# TODO Fix this up do we can check before logging in
"""
if self.dispense.isDisabled():
logging.info('user '+self.vstatus.cur_user+' is disabled')
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment