170 похожих чатов

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

поступить
предположим есть функция, которая как аргумент принимает ссылку на сайт, а далее проверяет заблокирован ли этот сайт в определенном сервисе, если сайт заблокирован, то что возвращать True или False?

25 ответов

8 просмотров

Зависит от того, как ты поставил задачу. На что проверяешь?

xtemple- Автор вопроса
xtemple
заблокирован ли

А если недоступен/ошибка?

xtemple- Автор вопроса
xtemple
это уже другая функция

Это респонз разными хендлерами типа обрабатываешь или что? Странный подход) Может быть это тот случай когда у тебя должен быть класс обработчик респонза, который возвращает датакласс с собранной инфой?)

Я это всё к тому что надо не отдельный кейс смотреть, а в целом какую инфу предполагается собрать - иначе о читаемости и логичности рассуждать как-то странно)

xtemple- Автор вопроса
Владимир
Я это всё к тому что надо не отдельный кейс смотре...

суть в том чтобы во-первых, получить 200 код, если он есть проверить заблокирован ли домен в определенных сервисах

is_not_sth который возвращает False это как правило говнокод потому что в игре уже есть оператор not Поэтому только is_sth и возвращать True

Обычно же возвращают коды. Аля 200 доступен. 403 заблокирован. Хз как временно недоступен

И друг мой грузовик 🚛
Обычно же возвращают коды. Аля 200 доступен. 403 з...

Ну подожди я к тому что в некоторых случаях просто ответа не будет, или будут другие исключения) оно же должно зарезолвиться для начала по днс Потом ответа может и не быть - будет просто таймаут Есть ConnectionRefused, а это не 403)

И друг мой грузовик 🚛
Обычно же возвращают коды. Аля 200 доступен. 403 з...

Нуу вот например (примеры кода не огонь, просто первое что попалось) https://stackoverflow.com/questions/40145631/precisely-catch-dns-error-with-python-requests

Владимир
Ну подожди я к тому что в некоторых случаях просто...

тогда получается что соединение между клиентом и сервером, по http, нужно проверять с более низких уровней? 🧐

И друг мой грузовик 🚛
тогда получается что соединение между клиентом и с...

Можно так, да, можно и в обработке исключений. Это слишком сильно зависит от тз и конкретных кейсов (впринципе, в некоторых случаях имхо было бы уместно предварительно отсеять значительную часть низкоуровневыми проверками).

Владимир
Можно так, да, можно и в обработке исключений. Это...

я так понимаю на низком уровне, если речь идет про страничку в интернете, этим займется браузер

Kirill Shikhalev
raise_for_status

а если до не смог достучаться то цели?

У requests по дефолту не вылетает исключения для таймаута, потому что таймаута нет как такового, он просто намертво встанет и все. Ручками пропиши там 30 секунд таймаута например и отлавливай исключение нужное

Kirill Shikhalev
У requests по дефолту не вылетает исключения для т...

он не встанет намертво. Зависит от сервера, напимер.

И друг мой грузовик 🚛
он не встанет намертво. Зависит от сервера, напиме...

Ну да, если сервер ответит то естественно не встанет

Похожие вопросы

Обсуждают сегодня

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
А дин типизация это хорошо или плохо?
Alexey
12
Исходники плюс документация? Вы гоните)) демок хватит всем
zamtmn
11
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
76
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Карта сайта