- 1
is_zipped = not request.args.get('is_zipped', "false") == "false"
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−102
is_zipped = not request.args.get('is_zipped', "false") == "false"
>>> bool("false")
True
>>> bool("False")
True
почему бы не сделать их ложью
У объекта, ссылка на который лежит в переменной request достаем значение свойства args (а лежит там ссылка на какой-то другой объект), у которого вызывается метод get().
Т.е. ошибка в том, что язык чувствителен к регистру символов?
И это явное говно ;)
Т.к. надо или делать интуитивно, или валиться с ошибкой.
Готов к новым анальными приключениям? Если готов, то нагнись и раздвинь ягодицы.
Потому что неинтуитивно, никому не нужно и вообще наркомания... А потом кому-нибудь захочется сделать ложью "No", "Нет", "Off", "0", "Нихуя", "Empty" и т.п... Такие идеи надо давить в зародыше :)
Почему бы вместо этого не сделать типизированный парсер аргументов:
Для тех, кто соберётся читать комменты после удаления с ideone:
Это которые через фейсбук? Но он же следит!
p/s/ открой в адблоке очередной посещаемый сайт - он будет пронизан скриптами facebook, google,yandex,odnoklassniki,vk и такой вот пищи названий до тыщи.
даже ферромагнетики - это не только соединения железа
информация в НЖМД записывается на жёсткие (алюминиевые или стеклянные) пластины, покрытые слоем ферромагнитного материала, чаще всего двуокиси хрома
оно? http://habrahabr.ru/post/64212/
>Который легко убивается Incognito mode в Chrome и InPrivate в IE.
Как это не кеширование? Етэг - это часть механизма кеширования. Разве нет?
Ну если хочется чистого кеширования - сгенери чуваку джаваскриптик с уникальным id и отдай его с заголовками, пригодными для кеширования. На следующий раз, когда он зайдет, ты этот id сможешь отправить на сервер ;)
А вообще - раскури исходники evercookie, если тебе интересно. Там дохрена разных способов (приватный просмотр в ФФ, емнип, не пропускает ни одного, а вот очистка истории "за сегодня" не спасает, надо полную).
а мне наоборот такое поведение показалось интуитивным(уточню - именно для "False") видимо слишком много в крови серебрапохапе
>Почему бы вместо этого не сделать типизированный парсер
чтобы добавить свои методы в стандартный словарь из built-in(args - dict) надо унаследоваться, а для этого придется немного перелопатить веб-фреймворк(у меня flask) и потерять совместимость. а писать отдельный парсер аля parser.get_bool(request.args, 'is_zipped', False) было лень.
Видимо много кому захотелось, раз такое запилили в стандартную библиотеку)
http://docs.python.org/2/distutils/apiref.html?highlight=distutils.util#dis tutils.util.strtobool
Для парсинга прыщеконфигов, вестимо.
Потому, что питон - это не рнр, иди-ка ты нахуй со своей слабой типизацией.