@ru_python

Страница 7376 из 9768
Yegor
12.12.2018
08:41:25
Дурацкий вопрос, но все же. Есть цикл while в нем try, по except'у мы вываливаемся с цикла?

Vitalii
12.12.2018
08:41:25
это норм
у меня много моделей и полей . в ручную все писать не интересно

Ssi
12.12.2018
08:41:36
Там в view только print(request.POST) для дебага и отправка хттп ответа
а разве когда json шлёшь, оно не в request.body кладётся?

Google
Yegor
12.12.2018
08:42:22
если в эксепте напишешь break - да
а если я там только принт пишу и все-равно вываливаюсь?

SetazeR
12.12.2018
08:42:26
если нормально обработаешь ошибку - то цикл продолжится

LighteR
12.12.2018
08:42:36
если в эксепте напишешь break - да
Даже если не напишешь

Владимир
12.12.2018
08:42:37
Подожди, ты про синтаксис говорил
Если чисто про синтаксис - более громоздкий. Сильно напоминает лапшу в java. Получилось неудобно. Надеюсь будут улучшения. Переписал из любопытства один небольшой проект с аннотациями. Не понравилось.

Yegor
12.12.2018
08:43:00
там кода, уже даже я плохо понимаю

ща

LighteR
12.12.2018
08:43:32
Yegor
12.12.2018
08:45:14
код фстудию
http://dpaste.com/1SZGVKD это функция которая пытается достать ссылки с раздела

но там с разбегу врядли получится что-то понять

Google
shiitakePL??
12.12.2018
08:45:50
SetazeR
12.12.2018
08:48:04
LighteR
12.12.2018
08:48:33
Убери try..except из цикла

SetazeR
12.12.2018
08:48:51
Убери try..except из цикла
вопрос был про try в цикле

я ответил про try в цикле

необработанные ошибки ясен хрен будут валить цикл

LighteR
12.12.2018
08:49:50
вопрос был про try в цикле
Оу, сорян, я невнимательно изначальный вопрос прочитал. В этом случае ты прав

LighteR
12.12.2018
08:51:10
Кавычки вокруг str не нужны. Зачем ты описываешь тип каждой переменной если он может быть и так выведен?

Yegor
12.12.2018
08:52:19
@SetazeR Ошибка: 'NoneType' object has no attribute 'findAll' html: Could not connect: User admin_po already has more than 'max_user_connections' active connections link: http://www.сайт/katalog/раздел?lang=ru&limit=20&start=1280 Это ошибка получается когда суп не может распарсить страницу, когда страница вместо хтмла показала текст в котором написано: Could not connect: User admin_po already has more than 'max_user_connections' active connections И там таких штук бывает разное количество, оно может нормальную страницу вывести, с постраничным выводом но в теле ссылок написать тоже что много коннектов, может просто текстом написать, может другое сообщение написать. Потому я решил через трай пробывать выдрать последнюю страницу в пейджинаторе на сайте.

Владимир
12.12.2018
08:52:21
Кавычки вокруг str не нужны. Зачем ты описываешь тип каждой переменной если он может быть и так выведен?
Выведен? Ну так тип любой переменной будет так или иначе выведен. Это ж питон. Какой смысл тогда мешать типизированное с нетипизированным? Подход должен быть цельным. Ты же mypy хочешь использовать

Alex
12.12.2018
08:53:41
SetazeR
12.12.2018
08:54:54
а зачем это вообще типизировать?

LighteR
12.12.2018
08:55:17
а зачем это вообще типизировать?
чтобы на этапе статического анализа обнаруживать ошибки

Владимир
12.12.2018
08:56:11
Это не дактайпинг. from typing import Dict a: Dict[str, str] = {} a.get('foo', 0) / 5 # error: Unsupported operand types for / ("str" and "int")
Так вот граница типизации где. Одни описываешь, другие нет? майпи конечно отловит. Но типизация еще и при чтении должна помогать. стиль должен быть тоже единым.

а зачем это вообще типизировать?
ловить свои ошибки анализатором

SetazeR
12.12.2018
08:57:04
ты можешь забыть что у тебя в словаре лежит стринг и поделить его на 5?

LighteR
12.12.2018
08:57:07
Так вот граница типизации где. Одни описываешь, другие нет? майпи конечно отловит. Но типизация еще и при чтении должна помогать. стиль должен быть тоже единым.
Ну хочешь писать для каждой переменной - пиши. Никто не запрещает же. Но mypy и без этого такие ошибки отловит

Google
LighteR
12.12.2018
08:57:51
он же может вернуться из какой-то другой функции, например

SetazeR
12.12.2018
08:58:00
но ведь питон не про строгую типизацию

LighteR
12.12.2018
08:58:44
но ведь питон не про строгую типизацию
Вообще-то питон и без type hint'ов строго-типизированный

SetazeR
12.12.2018
08:58:58
так минутку

LighteR
12.12.2018
08:59:02
а ты, видимо, имеешь в виду статическую/динамическую типизацию

SetazeR
12.12.2018
08:59:05
видимо сказал ересь

да да

Pavel
12.12.2018
08:59:09
питон про динамическую типизация

SetazeR
12.12.2018
08:59:19
не про статику

LighteR
12.12.2018
08:59:37
Ну вот тайп хинты это опциональная возможность использовать статическую типизацию

Tishka17
12.12.2018
08:59:56
LighteR
12.12.2018
09:00:05
т.е. никто не заставляет, но если хочешь вот тебе type hint'ы и mypy

LighteR
12.12.2018
09:01:09
ну можно аннотировать протоколы
Можно, это в общем способ написания хинтов для дактайпинга

Владимир
12.12.2018
09:01:51
Если аннотировать все, то получается сильно некрасиво. Работает, майпи счастлив, но текст засорен. Я пока не понял грань, так что использую, да пристреливаюсь.

Arshat
12.12.2018
09:02:02
?????

Nikolay
12.12.2018
09:02:25
Пиксели

Владимир
12.12.2018
09:02:58
Google
Arshat
12.12.2018
09:02:59
Пиксели
Вроде нормально

Tishka17
12.12.2018
09:03:36
ладно, протоколы пока не в станларте и скрыты в либе

LighteR
12.12.2018
09:04:09
Если аннотировать все, то получается сильно некрасиво. Работает, майпи счастлив, но текст засорен. Я пока не понял грань, так что использую, да пристреливаюсь.
Ну я не вижу особого смысла аннотировать переменные, которые являются результатом вызова какой-то функции как в твоем примере выше. В большинстве случаев хватает аннотации сигнатур функций

Tishka17
12.12.2018
09:04:33
?????
ну хз

что кстати, кроме дженериков и __annotations__ рассказать?

Admin
ERROR: S client not available

Владимир
12.12.2018
09:06:08
а если документирвоать словами что ожидает метод и что возвращает?
Если приходится много и часто описывать интерфейс функции или метода, то что-то не так с кодом. Нарушен принцип единственной ответственности

Roman
12.12.2018
09:08:02
Про Ютуб забудь. Неблагодарное дело параить сервисы Гугла. На крайняк селениум, да и то будет гуглокапчп везде выскакивать
вроде норм, если под каждые 40 запросов генерировать сессию с агентом и языком, то пока норм. одну прокси можно юзать каждые три минуты только с момента последнего юза

Tishka17
12.12.2018
09:08:19
get_user() -> User: - возвращает инстанс юезра get_user() -> str: - возаращет логин юзера (наверно) get_user() -> int: - возаращет id юзера get_user(): - возарщает что-то от юзера

да, в коде может везде быть только id, но все равно это может быть не очевидно с первого взгляда

Roman
12.12.2018
09:09:44
https://developers.google.com/youtube/v3/ не катит?
мне надо поиск парсить

инфу по видео я собираю уже через апи

Tishka17
12.12.2018
09:10:02
мне надо поиск парсить
https://developers.google.com/youtube/v3/docs/search

Владимир
12.12.2018
09:10:37
get_user() -> User: - возвращает инстанс юезра get_user() -> str: - возаращет логин юзера (наверно) get_user() -> int: - возаращет id юзера get_user(): - возарщает что-то от юзера
из названия ф-ии следует, что вернуться должен объект юзера. стр, ид или что-либо другое — уже неочевидное поведение

Roman
12.12.2018
09:10:47
Google
Владимир
12.12.2018
09:11:02
Tishka17
12.12.2018
09:11:06
да

не спорю

синтетический пример

Roman
12.12.2018
09:11:56
https://developers.google.com/youtube/v3/docs/search
на самом деле там дорогие поисковые запросы по юнитам, максимум 10 тыщ в сутки

LighteR
12.12.2018
09:12:00
К этому и сводится, что надо выбрать глубину аннотирвоания и вести через весь проект
Но это не вопрос субъективного выбора. Хинты же ведь в первую очередь направлены на статический анализ. Если статический анализатор понимает тип и без явной аннотации, то смысла ее писать особого нет. А если не понимает, то ты в любом случае обязан явно указать тип

Linux
12.12.2018
09:12:10
привет. Кто подскажет как сконветить xsd в xml. Онлайн сервисы не хотят конвертить

Tishka17
12.12.2018
09:12:28
что такое xsd?

Alex
12.12.2018
09:12:40
привет. Кто подскажет как сконветить xsd в xml. Онлайн сервисы не хотят конвертить
шо? xsd это и так xml, который описывает схему для другого xml

Roman
12.12.2018
09:13:07
на самом деле там дорогие поисковые запросы по юнитам, максимум 10 тыщ в сутки
а с моим вариантом можно за сутки будет обойти 20 тысяч раз

Linux
12.12.2018
09:13:15
xsd описывает структуру, xml является структурой

Владимир
12.12.2018
09:13:29
Но это не вопрос субъективного выбора. Хинты же ведь в первую очередь направлены на статический анализ. Если статический анализатор понимает тип и без явной аннотации, то смысла ее писать особого нет. А если не понимает, то ты в любом случае обязан явно указать тип
А как насчет человека, читающего код?) Дело уже не в самой даже типизации, а как ее лучше использовать. Но мне существующий вариант пока не сильно нравится. Как ты и сказал типизацию сейчас удобней использовать на уровне определения параметров и возвращаемых значений

Tishka17
12.12.2018
09:13:55
а с моим вариантом можно за сутки будет обойти 20 тысяч раз
скажи, а ты не пробовал воровать в магазине?

Roman
12.12.2018
09:14:14
Tishka17
12.12.2018
09:14:20
за деньги дорого, а если внешность менять - не спалят

Linux
12.12.2018
09:14:47
шо? xsd это и так xml, который описывает схему для другого xml
xsd описывает структуру, xml является структурой

Tishka17
12.12.2018
09:15:09
Linux
12.12.2018
09:15:32
и что тебе надо?
получить структуру по описанию из xsd

Страница 7376 из 9768