Pull to refresh
7
0
Влад Андерсен @mustangostang

User

Send message
ну конечно, покажите хоть кусочек интерфейса — это же самое интересное.
посмотрите: code.google.com/p/mygrate/
Python, только для MySQL, правда.
да. и потом еще можно файл миграции поправить ручками, если что не так (там, ренейм поля в таблице вместо добавления/удаления или сразу первоначальный попьюлейшн данных).
занудства псто, Мицгол-стайл.

AAC – Эль-Ариш, AAN – Аль-Айн, AAX – Араша, AAY — Аль-Гайда, AAZ – Кесальтенанго, ACE – Лансароте, ACZ — Заболь, ADF – Адыяман, ADU – Ардебиль, AEB – Байсэ, AEG – Паданг-Сидембуан (см. внизу), AEO – Аюн-эль-Атрюс, AES –Олесунн, AFY — Афьон-Карахисар, AGF – Ажен, AGH – Энгельхольм (см. внизу), AHN – Атенс (см. внизу), AHS – Ауас. это примерно треть буквы «А», то есть по идее я перечислил 1% от ваших ошибок в названиях. проверьте их по Рамблер-картам, не знаю (по Яндекс-картам не предлагаю).

еще обращают на себя внимание нежно любимая петербуржцами Лаппеэнранта, ставшая «Лаппинрантой» и нетрадиционный перевод названий тех американских городов, которые соответствуют европейским. например, Paris – Париж во Франции, но американский — Пэрис; Florence – Флоренция в Италии, но Флоренс в США.

и разберитесь, где у вас название города, а где название аэропорта, для эзотерических мест оно у вас употребляется вполне произвольно. обычно, если город обслуживается одним аэропортом, то пишут название города, а если несколькими — тогда уже аэропорта. ну и там маленькие странности: аэропорт «Франкфурт-Хан» никак не находится по запросу «Франкфурт», хотя по «Хан» видно, что он относится к Франкфурту. Линате и Мальпенса (с мягким знаком) относятся к Милану, а Бергамо (BGY, он же Орио-аль-Серьо) — нет, хотя Мальпенса в 40 км от Милана, а Бергамо — в 45; и Ryanair, крупнейший перевозчик, в общем, не без основания называет его «Милан-Бергамо».

как-то так. «когда дешевле» — прекрасный сервис. добавляйте по возможности лоукостеров, да. удачи.
видимо, люди, которые хотят, чтобы у них на хоумскрине красовалась надпись «фоточки», тоже есть. «камерка», «погодка», «ютюбик», «телефончик», «сообщеньица».
38: criminal offense — «уголовно наказуемое преступление». что за «криминальное преступление», это как?
28: Экзюпери не знал, что такое дизайн. здесь это куда лучше перевести как «замысел». а вообще речь у него про самолет — и перевод Норы Галь этой фразы такой: «Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять».
5 вы совсем не поняли. это значит: «человеку свойственна итерация (вообще-то — »итерировать", но это совсем не понятно), богу же — рекурсия" (аллюзия на: «to err is human, to forgive divine» Александра Поупа).
даешь маршруты на вапоретто в Петербурге!
кот — Волан-де-морт.
о, ну чудненько! отдельная передача модели как instance (кстати, туда любые данные ведь можно передать — или только модель? меня смущает синаксис model = form.save()) — совершенно верное решение в плане архитектуры.
относительно request.POST or None — если вы захотите делать вручную редактирование модели (то есть автозаполнять форму, основываясь на данных модели) — то в вашем варианте придется переписывать всю логику (в противном случае форма берет все данные из модели и сразу считает себя валидной, до POST-запроса дело не доходит). а в первом варианте будет достаточно заменить ContactForm на ContactForm(model). думаю, здесь именно такая логика, почему джанго в доках дает именно первый, развернутый вариант.

так что этот шорткат имеет смысл только в том случае, если вы совершенно точно хотите один раз отправить форму и навсегда про нее забыть (обращения с контактной формы на сайте, правда, наверное, подходят под это определение).
чудесно! а у вас есть какие-нибудь предложения по партнерству? желательно прямо с API? вот, например, наш ресурс — www.navystavke.ru — мы пользуемся для просмотра файлов онлайн скрибдом, а раз такие новости — могли бы перейти и к вам, тем более что отечественная разработка. в общем, если это у вас в планах и интересно — давайте спишемся, обсудим, что можно сделать друг для друга. мне можно написать на va@navystavke.ru.
русский скрибд — это славно. embedding ведь у вас можно делать? а брэндинг? у скрибда была чудесная функция, где вместо/вместе с логотипом скрибда можно было вставить и свой собственный.
ну так а что же вы вставляете в код, как будто так и надо? :-))

email = sreg_response.get('email', u'')

народ ведь будет честно копировать, а потом удивляться, почему при авторизации с gmail не подхватывается даже e-mail :-)

собственно, нужно следующее для того, чтобы запросить AX-данные — на этапе формирования запроса:

import openid.extensions.ax as ax
ax_request = ax.FetchRequest()
ax_request.add (ax.AttrInfo ('http://axschema.org/contact/email'))
authrequest.addExtension(ax_request)


на этапе проверки:

ax_response = ax.FetchResponse.fromSuccessResponse(info)
email = ax_response.get('http://axschema.org/contact/email', u'')


код пишу без тестирования, но что-то в этом духе должно работать :-) какие еще атрибуты отдает гугл — написано вот тут: code.google.com/apis/accounts/docs/OpenID.html#Parameters

удачи :-))
ну и как, у вас получилось уговорить Google отдавать данные через SReg? буквально вчера он хотел передавать атрибуты только через AX, соответственно, с прелестными запросами идентификаторов вида: axschema.org/contact/email
о, вовсе нет, не забросил. просто у меня самого для разработки работает более-менее стабильно, и поэтому сразу меньше мотивации писать документации или какие-то новые фичи делать. поэтому если вы пользуетесь и вам нравится, я буду рад багрепортам (видел, что один уже пришел) или предложениям по тому, чего не хватает.
CLI Питона на винде работает замечательно.

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Registered
Activity