@rudepython

Страница 1449 из 1719
Milton
06.04.2019
21:16:44
Ноуп!

Продолжаю развлекаться с Pyramid и Cornice, тема развлечений всё та же — разные хэндлеры для обработки исключений. У Cornice есть свои хендлеры для исключений, которые можно отдельно включить. Проблема в том, что при попытке зарегать хэндлер под 404 пирамида молча игнорирует его, если хэндлер под этот тип исключений без каких-то уточняющих предикатов уже есть. В принципе, логичное поведение, хотя ворнинг был бы кстати. Поскольку регистрация этих exception view происходит в коде Cornice, никаких предикатов я туда повесить не могу. Если делать свой хэндлер, ему нужно дать какой-нибудь предикат, но тут уже непонятно, какой именно нужно указать для того, чтобы ловить всё, что под /api. В Cornice я использую resource, которые создают сервисы сами, поэтому route factory в них особо не потыкаешь. route_name тоже не очень вариант, карниз генерит и сам. Собственно, скорее всего проблема здесь в том, как именно я пытаюсь организовать приложение. У меня есть приложение, сделанное cookiecutter'ом. В нем я создал отдельный модуль api_views, конфиг которого импортируется из конфига основного приложения с параметром route_prefix='/api'. Перед импортом в основном конфиге есть вызов scan(), потому что иначе вьюшки api будут зарегистрированы без префикса. В импортированном конфиге импортируется 'cornice', scan тоже вызывается. Всё это — попытка получить что-то подобное тому, что во flask делают blueprints. Вопрос: что я упускаю? Есть в пирамиде что-то по типу блюпринтов?

Zart
07.04.2019
11:25:57
накой хуй пирамиде эти недоделанные блюпринты

Thorn
07.04.2019
11:26:54
config.include('package')

Google
Zart
07.04.2019
11:27:05
"при попытке зарегать хэндлер под 404 пирамида молча игнорирует его, если хэндлер под этот тип исключений без каких-то уточняющих предикатов уже есть" не совсем верно если ты будешь регать дважды в одной транзакции - будет конфликт если регаешь в разных - второй победит

config.include('package')
+1 def includeme(config): в модуле

Milton
07.04.2019
11:27:49
+1 def includeme(config): в модуле
Ну вот оно и есть

Zart
07.04.2019
11:28:26
не понимаю зачем тебе свой 404

Milton
07.04.2019
11:29:17
не понимаю зачем тебе свой 404
Чтоб json отдавать приложениям там, где вызовы к api и не-json, когда вызов к части, используемой кожаными мешками

Zart
07.04.2019
11:29:30
ммм

чем тогда не нравятся предикаты xhr=True для аякс запросов и accepts='application/json' (не помню точную форму, там были планы починить негоциацию и возможно поправили это)

Zart
07.04.2019
11:30:57
https://docs.pylonsproject.org/projects/pyramid-cookbook/en/latest/configuration/whirlwind_tour.html тут про стратегии композиции конфигов вообще

Milton
07.04.2019
11:31:09
Авторы приложения — долбоёбы

Поэтому они не шлют accept и xhr

У них мобайл

Google
Milton
07.04.2019
11:31:35
У них не принято :\

Zart
07.04.2019
11:31:39
снифай по юзерагенту?

Zart
07.04.2019
11:32:17
написать предикат который по юа хедеру определяет is_mobile=True

Thorn
07.04.2019
11:33:16
у меня вот как, но этому коду много лет. предикат на Accept: было бы лучше https://gist.github.com/pthorn/1ef1a1a6b5fcf8efed60de763fc7840e

Zart
07.04.2019
11:34:25
мм.. ты там проверяешь наличие 'application/json' в аццепте, но не смотришь на квантифаер

Thorn
07.04.2019
11:34:45
Поэтому они не шлют accept и xhr
пусть они узнают, что сервер не имеет права отдавать json, если Accept заголовок его не разрешает, лол

Zart
07.04.2019
11:35:00
а зря, если в заголовке 'application/json, q=0;' то это валидный способ сказать "я никогда не хочу жсон"

по хорошему нужно сортировать аццепты по ку, потом проходить по списку и отбирать самый подходящий

Thorn
07.04.2019
11:36:11
ну вот если напишут / уже написали человеческий предикат, я все это выкину

Zart
07.04.2019
11:36:25
я давно не следил, может и есть

Thorn
07.04.2019
11:36:47
аналогично

Zart
07.04.2019
11:38:49
я следил за https://github.com/Pylons/pyramid/issues/1264

Boris
07.04.2019
11:43:01
Поэтому они не шлют accept и xhr
Ну пусть в окно выйдут

Оно весной уже приоткрыто и вперед в полет на встречу с асфальтом

Zart
07.04.2019
11:43:44
в общем судя по багтракеру они перепилили обработку аццепт-тайп в 1.10й пирамиде

в паре с вебоб 1.8.3+

Mename
07.04.2019
14:59:54
Гайз, такая проблема, ставлю через пип пакет с флагом —user, но консольный энтри не работает

Если без —user то работает

pkg_resources.DistributionNotFound: The 'name==1.2' distribution was not found and is required by the application

Google
Zart
07.04.2019
15:06:27
в венве?

Mename
07.04.2019
15:06:49
Zart
07.04.2019
15:07:28
пока нихуя не понятно что ты вывалил

Mename
07.04.2019
15:08:08
pip install name консольный энтрипоинт работает pip install —user name Говорит пакета нет

Zart
07.04.2019
15:08:24
в венве?

Mename
07.04.2019
15:08:34
В терминале

Zart
07.04.2019
15:08:38
...

так, нахуй

Mename
07.04.2019
15:08:45
Как ещё сказать блять

Нет

Zart
07.04.2019
15:08:55
тупым детям дорога в бегиннерсы

Mename
07.04.2019
15:08:57
Не венв

Mename
07.04.2019
15:09:26
венвом не пользуюсь

Чёто сначала не вкурил что это

Zart
07.04.2019
15:09:49
мне интересно почему у тебя пип инсталл без юзера работает

Павел
07.04.2019
15:10:08
а чо ты ставишь?

Zart
07.04.2019
15:10:35
надеюсь там не фигурирует судо

Admin
ERROR: S client not available

Mename
07.04.2019
15:10:36
Google
Zart
07.04.2019
15:10:53
...

Mename
07.04.2019
15:10:55
Я без судо не могу поставить в пип ничего

Zart
07.04.2019
15:11:05
предлагаю бан

Mename
07.04.2019
15:11:16
?)

а, ты имеешь ввиду —user без судо писать

Попробуем

Permission denied

Zart
07.04.2019
15:12:25
вот писать сюда такую хуйню теперь тоже пермишен денайд

совсем охуели

Dk
07.04.2019
15:12:33
Zart
07.04.2019
15:12:52
РО на неделю, пусть почитает почему судо не нужен

Oleg
07.04.2019
15:36:10
полезен бывает, особенно с nopasswd

Zart
07.04.2019
15:37:54
ваще нахуй не нужен

Dmitry
07.04.2019
16:26:59
предлагаю бан
Однозначно

полезен бывает, особенно с nopasswd
Для пипа никогда не нужен. Вообще этим дебилам точно не нужен. Ни sudo, ни su - Ни рутовый пароль :)

Zart
07.04.2019
16:29:10
матросам вход в рубку запрещен, лоло

Oleg
07.04.2019
16:29:22
я не имел ввиду связку sudo + pip. конечно в этой ситуации никогда не нужен

некоторые хостинги, часто в швейцарии, не дают к vps доступ root, но разрешают выполнять некоторые команды, например рестарт условного апача

Denis
07.04.2019
16:31:03
А пакеты как ставить?

Oleg
07.04.2019
16:31:15
su -

Google
Zart
07.04.2019
16:31:28
это когда хотят питон, а покупают шаред хостинг для пхп

кто кого при этом наебал..

Oleg
07.04.2019
16:31:51
очень похожее, как divio, например

странные они там, но что поделать

Страница 1449 из 1719