in pysteve/lib/plugins/cop.py [0:0]
def validateCOP(vote, issue):
"Tries to validate a vote, returns why if not valid, None otherwise"
parties = {}
if not 'candidates' in issue:
return "Invalid issue data detected"
for c in issue['candidates']:
if not 'pletter' in c:
return "Invalid issue data detected"
parties[c['pletter']] = True
letters = [chr(i) for i in range(ord('a'), ord('a') + len(parties))]
ivote = -1
try:
ivote = int(vote)
except:
pass # This is a fast way to determine vote type, passing here is FINE!
if not vote in letters and (ivote < 0 or ivote > len(issue['candidates'])):
return "Invalid characters in vote. Accepted are: %s" % ", ".join(letters,range(1,len(issue['candidates'])+1))
return None