Вячеслав Грачунов: ну дык - запустить в броузере консоль разработчика. Зайти броузером и глянуть что ваш броузер в заголовках передает. Подставить такие же значения. Там может быть к примеру реферер, и прочие заголовки, которые сервер отслеживает. Что именно ваш броузер передает - нужно смотреть конкретно в вашем случае.
Владимир Куц
@fox_12 Автор вопроса, куратор тега Django
Anatoly Scherbakov: да - я тоже уже склоняюсь к подобному решению, - единственно много кода перелопатить придется, но похоже - пока это самое оптимальное.
valent_in_habrahabr: нет - за счет отступов не удастся, поскольку нет никакой гарантии в том, что в коде, в котором ошибки с балансом скобок, не будет ошибок с отступами.
Вы чрезмерно усложняете задание до уровня, который не имеет четкого алгоритмического решения.
Проверьте баланс по алгоритму, который вам уже привели. Хотите усложнения - исключите закомментированные участки кода, и комментарии где могут встречаться эти ключевые слова.
valent_in_habrahabr: навскидку - забивать паттерны проектирования, примеры кодов. Обучать нейронную сеть. Тогда ваш код будет с какой-то вероятностью предсказывать где пропущен закрывающий тег. Но это баловство больше... Пока в плане мышления и исправления ошибок допущенных в коде человеком, компьютеру до человека далеко. Компьютер способен разве что помочь в частностях - вроде приведенной балансировки скобок.
Владимир Куц
@fox_12 Автор вопроса, куратор тега Django
Перехватываю я вовремя. Дело в том что объекты сильно развесистые - на несколько десятков полей, полиморфные - в зависимости от типа имеют разную структуру. Плюс к тому имеют поля с переводами на разные языки. Этот участок кода выливается в головняк:
# Now, creating a new branch (with new IDs) at the destination node
root = MyModel.objects.create(parent=new_parent, ...)
[MyModel.objects.create(...) ...]
Поэтому моя задумка - перемещать ветку, а на ее место вставлять ветку-заглушку из нод, в которых будет только статус "удалено" и время удаления с сохранением топологии - старые id и старые связи на родительские ноды. Контент не нужен - он в перемещенной ветке. Засада пока только в том, что при перемещении ветки ее айдишники старые остаются, а у ветки заглушки-новые. А нужно наоборот.
iegor: попробуйте запускать скрипт с опцией python -u для того чтобы сделать ввод с stdin небуфферизированным. Ну а там - декодировать на лету, если необходимо -
for line in iter(lambda: sys.stdin.readline().decode('utf-8'), ''):
....
iegor: ну так и напишите - что именно вы хотите от кода в Python 2 и в чем у вас сложность возникла. Различия между ними есть, так как собственно реализация их различна, поэтому нужно лепить какой-то костыль. Поддержку юникода? Ну так перекодируйте входящий поток. В python 2 он работает в binary mode.
Андрей: "сайт стал тормозить", "у меня mysql не грузится, система ругается на mysql.sock", "сайт падает все время", "провайдер прислал письмо о том что с сайта идет какой-то подозрительный трафик", "сайт не хочет грузиться" и прочие...
АртемЪ: что вы пытаетесь мне доказать? :) то что ситуация когда все хранилища с бекапами могли быть примонтированы к системе невозможна, и права везде и все настраивают как положено? В реальном мире бывает всякое. В том числе и ситуация описанная выше.
АртемЪ: Утка - не утка, но сама возможность удаления данных бекапов таким образом вызвала дискуссию. Так что нет дыма без огня. А поучительность истории заключается в том, что нужно неоднократно проверять безопасность запускаемых команд такого рода. Не полагаясь на "авось" вроде вашего комментария "бекапы командой rm -f удалить невозможно"
Alexander: Ну теперь поле вашего объекта например News.objects.language('ru').get(pk=).title будет ссылаться на наименование на русском языке, а News.objects.language('en').get(pk=).title - на английском. Переключая язык, будете получать значения полей в зависимости от выбранного языка. Там же даже в readme в принципе все понятно описано