Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 4, 2016 09:37:09

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Pyramid: traversal, промежуточные контексты

Решил попробовать использовать traversal в проекте. Но вот малость не понимаю идеологию, что если я кроме контекста, хочу иметь еще все промежуточные, т.е. скажем проходит у меня при разборе Организация/Подразделение/Сотрудник/Вид документа/Документ. Контекстом будет документ, но я хочу во вьюшке иметь все контексты, через которые проходил путь. Я их сейчас прицепляю к request. Но посмотрел приложения на github, и как то не нашел, чтобы кто-то делал подобное, из этого вывожу, что я не правильно подхожу к работе с traversal. Это так?



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#2 Фев. 4, 2016 15:04:08

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Pyramid: traversal, промежуточные контексты

ну context.__parent__ не? или я не совсем понял о чём ты
есть же find_root() всякие и другие средства для работы с деревом http://docs.pylonsproject.org/projects/pyramid/en/latest/api/traversal.html#pyramid.traversal.find_root

Офлайн

#3 Фев. 4, 2016 15:37:49

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Pyramid: traversal, промежуточные контексты

slav0nic
ну context.__parent__ не?
Да, да, да-да-да, да-да-да-да, да-да! Клинануло меня. Действительно вся цепочка же есть. Спасибо, снял с ручника.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Фев. 4, 2016 17:51:37

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Pyramid: traversal, промежуточные контексты

По своему опыту использования траверсала, скажу, что доступ через __parent__ приводит иногда к сложностям в понимании написанного. Особенно, если что-нить типа такого: self.__parent__.__parent__…

Порекламирую себя:
https://github.com/zzzsochi/aiohttp_traversal — траверсинг с aiohttp (как только что выяснилось, с последней версией aiohttp не работает, на днях починю);
https://github.com/zzzsochi/aiotraversal — построенный на этом деле фреймворк, с нормальным процессом конфигурации, как у пирамиды.



Офлайн

#5 Фев. 4, 2016 17:58:41

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Pyramid: traversal, промежуточные контексты

ZZZ
доступ через __parent__ приводит иногда к сложностям в понимании написанного.
find_interface все решает. можно будет его вызовы обернуть в функции с хорошо читаемыми именами get_company, get_department. Просто у меня совсем вылетело из головы, что вся цепочка контекстов доступна через __parent__, чувствовал что леплю лажу.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано PooH (Фев. 4, 2016 18:00:54)

Офлайн

#6 Фев. 4, 2016 18:05:32

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Pyramid: traversal, промежуточные контексты

Есть еще вот такая концепция роутирования. Для ознакомления можно глянуть, может больше понравится.

Офлайн

#7 Фев. 5, 2016 05:38:56

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Pyramid: traversal, промежуточные контексты

4kpt_IV
Есть еще вот такая концепция роутирования. Для ознакомления можно глянуть, может больше понравится.
Посмотрел, спасибо, нет. Мне нравится такой подход



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#8 Фев. 5, 2016 10:43:55

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Pyramid: traversal, промежуточные контексты

Ну. Каждому свое. А мне оба механизма нравятся. Под задачи, так сказать

Отредактировано 4kpt_IV (Фев. 5, 2016 10:44:13)

Офлайн

#9 Фев. 5, 2016 12:21:23

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Pyramid: traversal, промежуточные контексты

Стоило Дмитрию прочитать свой доклад, так сразу народ проявил интерес… Надо тоже рассказать что-нить по этому поводу. Дмитрий много чего упустил в своём докладе.
Я присутствовал там и был очень удивлён, что ещё хоть кто-то в России, кроме меня, использует этот подход.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version