
Zart
27.08.2016
18:35:39
у тебя "плагины" на самом деле главные приложения, которые импортируют общую либу

Stanislav
27.08.2016
18:35:46

Zart
27.08.2016
18:35:55
но вместо того чтобы положить её в выделенное место или сбоку, ты сунул её зачем-то вверх
обычно плагины внутрь суют во фреймворках, которые сами ищут и грузят плагины

Google

Stanislav
27.08.2016
18:36:34

Zart
27.08.2016
18:36:43
и вызывается точка входа в основную

Stanislav
27.08.2016
18:36:45
Или как делать, я уже запутался

Zart
27.08.2016
18:37:50
common/... тут общие файлики
plugin1/... код
plugin2/.. код
и из этого каталога запускать
python plugin1/script.py
в нем можно смело делать
import common
и import plugin2

Stanislav
27.08.2016
18:38:37
Просто смотри, каждый плагин == черный ящик, который должен принять некоторые данные и отправить некоторые данные в main_functional.py

Zart
27.08.2016
18:39:13
"отправить данные в .py" - это чо?

Stanislav
27.08.2016
18:40:30
Плагин приняв данные, обжовывает их и отпавляет в файл, который обжовывает обжованные данные и отправляет по полочкам в функции main_functional.py, который будет делать основной функционал
То-есть плагины только получают данные для входа и отправляют данные для функционала

Zart
27.08.2016
18:40:51
ты так объясняешь словно у тебя скрипты, а не модули

Stanislav
27.08.2016
18:41:15
Ну в модуль)

Zart
27.08.2016
18:41:58
между ними большая разница -_-

Stanislav
27.08.2016
18:46:20
Так а как парсер сделать? Что-бы пользователь понял.

Google

Zart
27.08.2016
18:46:43
ват

Andrew
27.08.2016
18:47:54
https://www.destroyallsoftware.com/talks/wat

Stanislav
27.08.2016
18:49:45
Ну типо, у каждого плагина есть свой __init__,py что делает из плагина пакет, в этом __init__.py в __all__ будет задана одна функция, например main (такой стандарт для каждого плагина будет), эта функция может принимать кастомные поля, но отдавать должна данные которые войдут в пережовыватель в корневой директории(данные как словарь, с нужными ключами).

Zart
27.08.2016
18:51:16
__all__ в питоне юзается, бтв

Stanislav
27.08.2016
18:51:56
Всмысле в питоне, у меня для инкапсуляции из каждого плагина будет доступна только одна функция - main

Zart
27.08.2016
18:51:59

Andrew
27.08.2016
18:52:31
охуенный толк
ты первый раз увидел? :) это уже баян стародревний, но актуальность не теряет )

Zart
27.08.2016
18:53:14
вроде видел

Stanislav
27.08.2016
18:53:42
Так что, нет идей как это сделать?

Zart
27.08.2016
18:53:43
может и не конкретно этот ролик, а репосты в бложиках
https://twitter.com/bbotezatu/status/768756952528723969

P-zombie
27.08.2016
21:13:01
Есть какой-нить справочник, чтобы можно было, составив в уме абстрактный алгоритм, найти в справочнике синтаксические конструкции и реализовать код?

Zart
27.08.2016
21:16:01
копипастовый погроммист?

Janek
27.08.2016
21:16:36
А разве плохо использовать готовые куски кода?

Zart
27.08.2016
21:16:42
http://code.activestate.com/recipes/ и SO, лоло

Janek
27.08.2016
21:18:47
А если копипастишь и потом корректируешь под себя?
А не долбишь по клаве полчаса

Zart
27.08.2016
21:19:32
ну тут можно придумать сколько влезет примеров и контрпримеров...
я же про культуру

Janek
27.08.2016
21:19:43
Культура да

Google

Pavel
27.08.2016
23:56:59
К лекции, которую зарт прочитал вечером, хочу добавить, что эта концепция логгинга (логгер-хандлер-фоматтер-левел) не питоновская заморочка, а некая универсальная парадигма, реализованная и в джаве, и в .net, и чёрт знает где ещё.

German
28.08.2016
00:06:12
А что за лекция? (Тред не читал)

Pavel
28.08.2016
00:10:52

German
28.08.2016
00:11:45
Спасибо

Zart
28.08.2016
07:39:12
а меня оборвали на середине

Pavel
28.08.2016
07:47:26

[Anonymous]
28.08.2016
07:54:31
https://toster.ru/q/348851
Только не кикайте
)

⬗VLAD⌶K⬖
28.08.2016
07:56:30
"Еще левый вопрос: почему, когда я удаляю пользователя, удаляется вместе с этим объект, например, статьи" в базу надо сохранять все изменения

[Anonymous]
28.08.2016
08:00:14

⬗VLAD⌶K⬖
28.08.2016
08:01:09

Zart
28.08.2016
08:01:14
"левый" вопрос - про каскадные удаления и дизайн таблиц и их отношений в бд
что в свою очередь связано с нормализацией данных

[Anonymous]
28.08.2016
08:03:10
сохраняй все изменения в БД
Я тебя понял. Какие изменения и чем это хорошо? Я удалил объект user, но мне как-то нужно удалить его из полей author объектов статей

⬗VLAD⌶K⬖
28.08.2016
08:05:34

[Anonymous]
28.08.2016
08:06:24
Во вьюхе перед сохранением сохранять имя?

⬗VLAD⌶K⬖
28.08.2016
08:06:28
общее для всех статей

[Anonymous]
28.08.2016
08:06:28
Наверное, нет

Google

Pavel
28.08.2016
08:23:36

⬗VLAD⌶K⬖
28.08.2016
08:26:02
отдельно папку для хранения статей создай, а в бд id статьи и урл

Pavel
28.08.2016
08:26:21
Или поле author сделать nullable и статьч будет не удаляться, а автора ставить в нулл.

Janek
28.08.2016
08:27:13
Последнее самое лучшее
Имя нужно, чтоб сохранялось?

Admin
ERROR: S client not available

[Anonymous]
28.08.2016
08:28:07
Там по-умолчанию ON DELETE CASCADE на внешнем ключе

Zart
28.08.2016
08:28:12
папку...

[Anonymous]
28.08.2016
08:28:17
Спасибо
Теперь вопрос
Как очистить сесссии, хеши в таблице сессий, связанные с конкретным объектом

Janek
28.08.2016
08:29:24
Логаут

[Anonymous]
28.08.2016
08:30:58
Логаут удаляет сессию, связанную с браузером, где делают этот логаут
Правильно?

Janek
28.08.2016
08:31:13
Да
Очищает сессию

[Anonymous]
28.08.2016
08:31:42
Мне нужно удалить абсолютно все сессии (хеши), связанные с объектом
С других браузеров, например
Даже конкретно, а не пример)

Janek
28.08.2016
08:32:11
Типа "завершить все сеансы"?

Google

[Anonymous]
28.08.2016
08:32:20
Да

Zart
28.08.2016
08:32:23
для этого надо понимать как они вообще работают

[Anonymous]
28.08.2016
08:32:43

⬗VLAD⌶K⬖
28.08.2016
08:33:33
может это кукисы, а не хеши?

[Anonymous]
28.08.2016
08:34:27
У нас есть user, мы логинимся, в промеж. слое делается хеш и записывается куда-то в приложуху sessions, ставится кука с хешом, дальше идет валидация


⬗VLAD⌶K⬖
28.08.2016
08:43:59
cookies != хеш, хешируется пароль конкретного юзера, в куках служебная информация '''name - задает имя (строк), закрепленное за Cookie;
value - определяет значение переменной (строка);
expire - время "жизни" переменной (целое число). Если данный параметр не указать, то Cookie будут "жить" до конца сессии, то есть до закрытия браузера. Если время указано, то, когда оно наступит, Cookie самоуничтожится.
path - путь к Cookie (строка);
domain - домен (строка). В качестве значения устанавливается имя хоста, с которого Cookie был установлен;
secure - передача Cookie через защищенное HTTPS-соединение.'''

Alex
28.08.2016
08:44:21
Ребята, кто пробовал юзать джангу с убогим ораклом?

⬗VLAD⌶K⬖
28.08.2016
08:46:47
одним словом тебе нужно установить время жизни куков для определенного юзера

[Anonymous]
28.08.2016
08:47:18
cookies != хеш, хешируется пароль конкретного юзера, в куках служебная информация '''name - задает имя (строк), закрепленное за Cookie;
value - определяет значение переменной (строка);
expire - время "жизни" переменной (целое число). Если данный параметр не указать, то Cookie будут "жить" до конца сессии, то есть до закрытия браузера. Если время указано, то, когда оно наступит, Cookie самоуничтожится.
path - путь к Cookie (строка);
domain - домен (строка). В качестве значения устанавливается имя хоста, с которого Cookie был установлен;
secure - передача Cookie через защищенное HTTPS-соединение.'''
Я и не говорю, что cookie == hash: в таблицах ведь хранятся хеши кук. Когда мы делаем login мы можем указать время? Не слышал об этом - менять самому придется?


Zart
28.08.2016
08:48:29

Alex
28.08.2016
08:49:15
ну да, оракл опупенный не считая стоимость за 1 процессор 20 тыщ

[Anonymous]
28.08.2016
08:49:44

⬗VLAD⌶K⬖
28.08.2016
08:49:54
феноменальная смена отношения к оракл?
Эта группа больше не существует