Browse Source

web/lib/validation.py: call len() for "data" only once

Sort of optimisation.
pull/1/head
Hidden Z 14 years ago
parent
commit
bc3118ab44
  1. 7
      web/lib/validation.py

7
web/lib/validation.py

@ -44,14 +44,15 @@ def validate_b64hash(data, check_uniq=True): @@ -44,14 +44,15 @@ def validate_b64hash(data, check_uniq=True):
"""
Base64 hash validation
"""
length = len(data)
# Minimum key length 516 bytes
if len(data) < 516:
if length < 516:
raise forms.ValidationError('Specified base64 hash are less than 516 bytes')
# keys with cert may ends with anything, so check is relaxed
if len(data) > 516 and re.match(r'[a-zA-Z0-9\-~]+$', data) == None:
if length > 516 and re.match(r'[a-zA-Z0-9\-~]+$', data) == None:
raise forms.ValidationError('Invalid characters in base64 hash')
# base64-i2p
if len(data) == 516 and re.match(r'[a-zA-Z0-9\-~]+AA$', data) == None:
if length == 516 and re.match(r'[a-zA-Z0-9\-~]+AA$', data) == None:
raise forms.ValidationError('Invalid base64 hash')
if check_uniq == True:
# Avoid adding non-unique hashes

Loading…
Cancel
Save