12.01.2010

Python и else

Заметил, то сайт для Google App Engine периодически пишет мне что я залогинен и разлогинен одновременно.  Удивился, добавил немного отладочного вывода.  Вот такой код:

if users.get_current_user():
    attrs['logout-uri'] = users.create_logout_url(self.request.uri)
else:
    attrs['login-uri'] = users.create_login_url(self.request.uri)
if 'login-uri' in attrs and 'logout-uri' in attrs:
    logging.debug('Warning: logged IN and OUT simultaneously: %s' % attrs)

И получаю warning.  Не понятно.  При этом если полезть в исходный код и по горячим следам попытаться что-то поправить, ситуация нормализуется.

PS: нашёл объяснение: значение по умолчанию для аргумента функции не должно быть мутирующим.

0 коммент.:

Отправить комментарий