- 1
self.exclude = list(set(list(self.exclude or []) + ['str1', 'str2']))
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 3
−101
self.exclude = list(set(list(self.exclude or []) + ['str1', 'str2']))
−97
def constant_time_compare(val1, val2):
"""
Returns True if the two strings are equal, False otherwise.
The time taken is independent of the number of characters that match.
"""
if len(val1) != len(val2):
return False
result = 0
for x, y in zip(val1, val2):
result |= ord(x) ^ ord(y)
return result == 0
Django.utils.crypto в Django 1.4
−106
def parse_check_response(response_status, response_body, service):
"""
:param response_status: код
:type response_status: int
:param response_body: ответ
:type response_body: HTTPResponse
:param service_: определяет каким пользователям разрешена проверка (зарегестрированным или новым)
:type service_: str
Проверяет http ответ возвращаемый `` code_check``.
Если в ответе содержится ошибка то в ``resp['error']`` и ``resp['status']``
добавляется статус ошибки и её сообщение.
Примеры ошибок которые могут быть в ответе:
* Неверный код
* Срок действия кода истёк
* Данный код уже был использован
* ...
"""
if response_status != CHECK_STATUS_FOUND:
if not response_status == CHECK_STATUS_BAD_DATA and not response_status == CHECK_STATUS_NOT_FOUND:
raise CodeResponseException
return {
'status': response_status,
'error': EC_ERR_NOT_VALID
}
response_body_dict = json.loads(response_body)
resp = {'status': ERR_OK}
allowed_users = response_body_dict["codeset"]["allowed_users"]
if (
service == 'registration' and allowed_users == REGISTERED_USERS
or service == 'personal' and allowed_users == NEW_USERS
):
resp['status'] = EC_FORBIDDEN
resp['error'] = EC_ERR_NOT_VALID
if not response_body_dict['is_valid']:
error_code = response_body_dict['error_code']
if error_code in EC_NOT_VALID_GROUP:
resp['status'] = EC_NOT_VALID
resp['error'] = EC_ERR_NOT_VALID
elif error_code in EC_EXPIRED_GROUP:
resp['status'] = EC_EXPIRED
resp['error'] = EC_ERR_NOT_VALID
elif error_code in [EC_CANCELED, EC_NOT_FOUND, EC_UNKNOWN_REGION, EC_LIMIT_EXHAUSTED, EC_FORBIDDEN]:
resp['status'] = error_code
resp['error'] = EC_ERR_NOT_VALID
# If error_code == EC_FORBIDDEN we already
# have status and error message
elif error_code != EC_NO_ERRORS:
resp['status'] = EC_NOT_VALID
resp['error'] = EC_ERR_NOT_VALID
resp['response_data'] = response_body
return resp
PHP-style Python