Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2014 14:32:42

lightarhont
Зарегистрирован: 2014-07-20
Сообщения: 44
Репутация: +  1  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

Кто может толком объяснить, как устанавливать дополнения в pyramid.
Нечто такое высокоуровневое… Например, мне часто требуется ‘система комментариев’, блог, тэги можно писать самому, а это довольно сложная задача, что-бы каждый раз её делать. Кроме того, разработка подобного расширения в среде PHP в своё время, показала, что сразу не продумаешь все детали. Лишь в процессе длительного тестирования.
Я слышал об tweens в pyramid, но не совсем понял что это такое…
И ещё слышал об поддержке Zope для пирамиды, сразу поднимается вопрос реально ли установить эту систему комменатриев(http://wiki.python.su/%D0%9F%D0%B0%D0%BA%D0%B5%D1%82%D1%8B/ZopePlone/PloneComments)?

Т.е. некие батарейки как в Django. Как их создавать и где их брать, даже с той целью если написать самому систему комменатриев и сделать её дополнением.

Офлайн

#2 Дек. 3, 2014 16:05:37

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

расширения ищутся так

1. идёшь на pypi.python.org
2. забиваешь в окошко поиска pyramid
3. PROFIT

tweens это обертка для приложения в которой ты можешь что-то сделать с запросом и/или ответом.

вкратце расширение это модуль который содержит функцию includeme которая получает конфигуратор, используя который ты можешь подключать свои ройты, вьюхи, твины, обработчики событий и т.д

т.е.
где то в твоем приложении

config.include('my_plugin')

где то в твоем плугине
def includeme(config):
    config.add_view(...
    config.add_tween(...

Отредактировано bismigalis (Дек. 3, 2014 16:12:02)

Офлайн

#3 Дек. 3, 2014 17:16:46

lightarhont
Зарегистрирован: 2014-07-20
Сообщения: 44
Репутация: +  1  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

А kotti, ptah расширения подходят для piramid?
По идее kotti на pyramid 1.4 написан.

Офлайн

#4 Дек. 3, 2014 17:44:48

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

Смотри по коментам, наваять одну модельку, формочку не проблема, но коменты подразумевают еще и управление ими и т.д., т.е. нужна некая админка + набор соглашений по разным моментам.

pyramid это именно веб фреймворк, набор абстракций над HTTP + конфиг система.
т.е. нужно что то более выскоуровневое, куда можно вплагинится.
я в свое время искал что-то такое, ты смотрю тоже на этом пути.
Django меня не вперла, тебя смотрю тоже.

я смотрел и ptah и Kotti ( а еще substanced)
В итоге решил пилить свое CMF поглядывая в код этих штук.

Везде идея одна. Определяешь контент тайп, у тебя появляется CRUD.
А дальше наворачиваешь вьюх. Но есть детали.

To be continued…



Офлайн

#5 Дек. 3, 2014 18:31:36

lightarhont
Зарегистрирован: 2014-07-20
Сообщения: 44
Репутация: +  1  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

bismigalis
Смотри по коментам, наваять одну модельку, формочку не проблема, но коменты подразумевают еще и управление ими и т.д., т.е. нужна некая админка + набор соглашений по разным моментам.pyramid это именно веб фреймворк, набор абстракций над HTTP + конфиг система.т.е. нужно что то более выскоуровневое, куда можно вплагинится.я в свое время искал что-то такое, ты смотрю тоже на этом пути.Django меня не вперла, тебя смотрю тоже.я смотрел и ptah и Kotti ( а еще substanced)В итоге решил пилить свое CMF поглядывая в код этих штук.Везде идея одна. Определяешь контент тайп, у тебя появляется CRUD.А дальше наворачиваешь вьюх. Но есть детали.To be continued…
В том то и дело, что админку я уже частично написал… В том, числе для управления пользователями и ролями. А также загрузку аваторов пользователям с обрезкой как в vk.com.
Писать самому вроде бы и не сложно, но на это уходит куча времени. Кроме того нужно протестировать приложение.
Нужны некие эффективные наработки, пусть и на другом шаблонизаторе(Mako например). Даже может быть на PHP(в конце концов я оттуда пришёл сюда). Которые легко адаптировать сюда. Потому что на PHP фреймворке Kohana я делал не древовидные комментарии довольно долго и то не понял как их адаптировать в отдельный модуль а не оставить встроенным в контроллеры. Собственно я перенесу сюда их если ничего больше не найду, но хотелось бы оформить это неким расширением.
Нужны некие сниппеты которые можно будет потом расширять и которыми возможно можно поделится с кем то.

В основном самый болезненный вопрос это конечно же комментарии. Из них собственно не проблема создать даже форум, блог и всё что нужно.
Собственно использовать Pyramid для использования в роли социальной сети.
Возможно потребуются календарь, breadcrumbs и опросы, но с этим полегче…

Офлайн

#6 Дек. 3, 2014 18:42:59

lightarhont
Зарегистрирован: 2014-07-20
Сообщения: 44
Репутация: +  1  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

Django по сути как раз батарейками и отталкивает, как ни странно. Ещё там поганые роуты.
Я попытался изменить в ней админку, но, она там по ходу такая, что лучше никакой админки, чем такая. В Пирамиде запилил админку на основе некоторого шаблона админки и мне в принципе понравилось.
Система очень гибкая конечно. Недостатков я пока не встретил. Хотя возможно неправильно что, по привычке из PHP сразу начал ООП крутить. С классами представления также работают.

Офлайн

#7 Дек. 3, 2014 21:08:21

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

lightarhont
Хотя возможно неправильно что, по привычке из PHP сразу начал ООП крутить
Чего????? Не пишите больше такого. Иначе возникнут подозрения, что Вы знаете ООП на уровне, на котором он реализован в PHP, а реализован он там хуже, чем админка в джанге

P.S. Джангу я тоже не очень. Но причина другая…

Отредактировано 4kpt_II (Дек. 3, 2014 21:11:24)

Офлайн

#8 Дек. 4, 2014 08:39:00

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

По поводу комментов. Под pyramid такой плугин врядли появится.
Во-первых, какой персистент слой используешь? ZODB, SQLAlchemy, MongoDB? :)
Выход смотреть код других приложений приложений.
Если это SQLAlchemy, то можно смотреть код построенный на pylons, turbogears, flask.
Например
https://bitbucket.org/_amol_/tgapp-tgcomments/src

Офлайн

#9 Дек. 4, 2014 16:17:41

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

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

bismigalis
я смотрел и ptah и Kotti ( а еще substanced)
В итоге решил пилить свое CMF поглядывая в код этих штук.
А вот тут интересно, можно поразвернутее? Все три у меня в списке на посмотреть, но так руки и не дошли



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

Офлайн

#10 Дек. 4, 2014 18:45:53

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Pyramid: Добавление расширений, библиотек, сниппетов и т д.

PooH
можно поразвернутее?
легко

ptah
—–
чесно я его не осилил, доков мало, он сначало бурно развивался, потом был заброшен
юзает SQLAlchemy в качестве персистент, и RouteDispath для роутов, своя форм-либа, есть админка, не просто круд, но она предназначена для разраба, то есть доступ к внутренностям
есть пакеты ptahcms(выделен в отдельный пакет в 0.5 версии) и ptahcrowd(юзер подсистема)
в ptahcms ипользуется traversal очень оригинально, переопределяется травесер, этот момент я взял себе
вообщем вещь интересная, но у меня не пошло

Kotti
——
изначально cms, сейчас подается как фреймворк, те CMF
юзает SQLAlchemy и Traversal(работают все штуки для траверсал из пирамиды), для форм Deform
присутствует на официальном сайте
все-бы хорошо, но не эффективно работает траверсал, будут тормоза если много контент типов (join на контент тип) и/или большая глубина дерева(что реже)
юзается fanstatic - js библиотеки оборачиваются в python пакеты
пилит бывший плонер по мотивам Plone
вообщем не покидает чувство тяжелости

substanced
—————
юзает ZODB для персистенса, естесвенно Traversal, Deform
пилит автор пирамиды по мотивам Zope2
было интересно пощупать, почувствовать как это работать с объектной БД, но перспектив не имеет


по итогу больше понравилось последнее, но ZODB имеет плюсы так и минусы, минусы перевешивают.
щас пилю под влиянием substanced но поверх SQLAlchemy Core, взяв идею траверсала из ptahcms

Отредактировано bismigalis (Дек. 4, 2014 20:11:16)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version