[better-py-ru] pasteob.auth.basic

1 view
Skip to first unread message

u960

unread,
Apr 24, 2010, 5:43:46 PM4/24/10
to Пишем на Python лучше
В каком состоянии вообще? пользоваться можно или нет?
и самое главное как, если не секрет.
не совсем понятно.

class MyBasic(BasicAuthLogic):
realm = 'Private Area'
username = 'admin'
passwd = '123'

def check_password(self):
if self._username == self.username and
self._password == self.passwd:
self.logged_in = True


@wapp
def login_page(req):
auth = MyBasic(req)
а дальше?)
и как перенаправлять после успешной авторизации?

спасибо

--
Группа: http://groups.google.com/group/better-python-ru
Отписка: better-python-...@googlegroups.com

Алексей С.

unread,
Apr 24, 2010, 7:18:37 PM4/24/10
to Пишем на Python лучше
Вы писали:)
Well, I guess more examples will help, but the contact-form example
seems like it should have done the job.
ReqAddon is used in pasteob.auth which I'll be documenting later, so
that might work as an additional example.

вот хочется примеров и авторизации, и примеров использования ReqAddon.


25 апреля 2010 г. 1:43 пользователь u960 <phli...@gmail.com> написал:

Sergey Schetinin

unread,
Apr 24, 2010, 7:18:57 PM4/24/10
to better-p...@googlegroups.com
Состояние рабочее, пользоваться можно, код рабочий, но я бы так сделал:

credentials = {'admin': '123'}
class ...
   def check_password(self):
       self.logged_in = (credentials.get(self._username) == self._password)
          
Пользоваться например так


@wapp
def login_page(req):
   auth = MyBasic(req)
   user = auth.require_user()

а можно просто смотреть на auth.logged_in да на auth.user

Но дело в том что разные типы авторизации могут разное, в докстринге pasteob.auth.logic.WebAuth написано подробней. Их можно смешивать и комбинировать чтобы добиться всякого.

К тому же там всё так сделано, что можно подменять типы авторизации так чтобы сами приложения ничего о них не знали, то есть в "auth = MyBasic(req)" упомянут MyBasic, а можно без этого.

Лучше уж я сразу напишу уже описание, на этот раз не так подробно как reqaddon но основные темы  обьясню.



2010/4/25 u960 <phli...@gmail.com>



--
Best Regards,
Sergey Schetinin

http://s3bk.com/ -- S3 Backup
http://word-to-html.com/ -- Word to HTML Converter

Алексей С.

unread,
Apr 25, 2010, 2:35:05 AM4/25/10
to better-p...@googlegroups.com
25 апреля 2010 г. 3:18 пользователь Sergey Schetinin <mal...@gmail.com> написал:

> Состояние рабочее, пользоваться можно, код рабочий, но я бы так сделал:
>
> credentials = {'admin': '123'}
> class ...
>    def check_password(self):
>        self.logged_in = (credentials.get(self._username) == self._password)
>

ага, много красивее

> Пользоваться например так
>
> @wapp
> def login_page(req):
>    auth = MyBasic(req)
>    user = auth.require_user()

так и делал, но что то протупил ночью)

Алексей С.

unread,
Apr 28, 2010, 3:30:29 AM4/28/10
to better-p...@googlegroups.com
на тестовом сервере(wsgiref) авторизация работает,
на apache + mod_wsgi - нет

В req.authorization пусто, в req.environ[''HTTP_AUTHORIZATION''] тоже.
Браузер Basic заголовки отсылает.

куда копать?
спасибо

25 апреля 2010 г. 3:18 пользователь Sergey Schetinin <mal...@gmail.com> написал:

Sergey Schetinin

unread,
Apr 28, 2010, 3:36:56 AM4/28/10
to better-p...@googlegroups.com

Алексей С.

unread,
Apr 28, 2010, 3:57:01 AM4/28/10
to better-p...@googlegroups.com
спасибо.
я и забыл что WSGI имеет множество настроек

28 апреля 2010 г. 11:36 пользователь Sergey Schetinin

Алексей С.

unread,
May 12, 2010, 6:06:00 AM5/12/10
to better-p...@googlegroups.com
Доброго времени суток.
а будет какая нить еще информация допольнительная по проекту?
а то тихо, на битбакете recent activity или сломана или еще что. но не
работает давно.

И будет какой нить механизм сессий реализован, или это за рамками проекта.

28 апреля 2010 г. 11:36 пользователь Sergey Schetinin

Sergey Schetinin

unread,
May 12, 2010, 6:15:35 AM5/12/10
to better-p...@googlegroups.com
2010/5/12 Алексей С. <phli...@gmail.com>
Доброго времени суток.

Доброго.
 
а будет какая нить еще информация допольнительная по проекту?

Будет, я решил уже сразу на сайт писать (http://www.maluke.com/tech/pasteob) но не сделал еще всего что нужно. Как будет время, так сразу.

 
а то тихо, на битбакете recent activity или сломана или еще что. но не
работает давно.

И будет какой нить механизм сессий реализован, или это за рамками проекта.

Скорее всего будет.

Вообще правильно делаете что переспрашиваете, потому что иначе вот эти дела по документации и подобному можно и просто забросить.

 

Алексей С.

unread,
May 12, 2010, 6:52:38 AM5/12/10
to better-p...@googlegroups.com
понятно.
я могу напоминать, мне не сложно)

12 мая 2010 г. 14:15 пользователь Sergey Schetinin <mal...@gmail.com> написал:

Алексей С.

unread,
May 13, 2010, 3:27:15 AM5/13/10
to better-p...@googlegroups.com
И еще вопросик,
а почему нету ни одного модуля для работы с базой?
легкого, с удобным api

В Paste тоже решения ни какого нет.

12 мая 2010 г. 14:15 пользователь Sergey Schetinin <mal...@gmail.com> написал:

Sergey Schetinin

unread,
May 13, 2010, 6:25:13 AM5/13/10
to better-p...@googlegroups.com
Это большая работа, там нужно иметь пользователей которые пользуются разными базами и есть масса причин не включать такое в библиотеку для веб-разработки.

Плюс есть SQLAlchemy которая отлично решает все эти задачи.


2010/5/13 Алексей С. <phli...@gmail.com>

Алексей С.

unread,
May 13, 2010, 3:10:06 PM5/13/10
to better-p...@googlegroups.com
13 мая 2010 г. 14:25 пользователь Sergey Schetinin <mal...@gmail.com> написал:

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

А можно узнать некоторые причины?
Заодно и понять,в какую сторону может развитаться pasteob.
И по каким соображениям включены те, или иные модули.

>
> Плюс есть SQLAlchemy которая отлично решает все эти задачи.

Не пользовался, но это по больше части ORM я так понимаю.
я смысла в орм вообще не вижу, и всё что видел(пхп в основом) мне не
нравилось, ооочень геморно.

Sergey Schetinin

unread,
May 13, 2010, 3:38:43 PM5/13/10
to better-p...@googlegroups.com
2010/5/13 Алексей С. <phli...@gmail.com>

13 мая 2010 г. 14:25 пользователь Sergey Schetinin <mal...@gmail.com> написал:
> Это большая работа, там нужно иметь пользователей которые пользуются разными
> базами и есть масса причин не включать такое в библиотеку для
> веб-разработки.

А можно узнать некоторые причины?

* бд это не только для веб-разработки, поэтому в pasteob смотрелось бы странно
* трудно тестировать (нужны разные разные сервера баз данных)
* это требует довольно много кода который вообще перевесит всё остальное
* часто бд не нужно или используется что-то альтернативное gae datastore, всякие key-value store
 
в принципе какую-то свою минимальную прослойку поверх dbapi может и имеет смысл сделать, но ей все равно не место в pasteob

Заодно и понять,в какую сторону может развитаться pasteob.
И по каким соображениям включены те, или иные модули.

Из заметного я думаю будут модули по обобщенному доступу к кешам (тупо в памяти, memcache и прочее) и возможно key-value хранилищам. И сессии которые с этим всем по идее увяжутся.

Еще может что-то простенькое для тестирования задеплоеных приложений, но не уверен что этому место в pasteob.

 
>
> Плюс есть SQLAlchemy которая отлично решает все эти задачи.
Не пользовался, но это по больше части ORM я так понимаю.
я смысла в орм вообще не вижу, и всё что видел(пхп в основом) мне не
нравилось, ооочень геморно.


Там прослойка orm полностью отдельная, то есть если не хочется ей пользоваться, то можно использовать только прослойку которая позволяет работать с разными бд не привязываясь к конкретике. Создавать sql выражения выражениями в python и всё такое.

Я алхимический orm не использую, а раздражение всем остальным недостаточно велико чтобы браться переделать его "как надо". В частности мне нравится мысль, что я всегда могу переключиться с sqlite на какой-нибуть оракл, потому что эту работу по обобщению за меня уже кто-то сделал. Но главное вообще что с SQL базами я сейчас мало работаю, если бы пришлось / придется работать больше, то скорее всего появится какой-нибудь mext.sql

 

Алексей С.

unread,
May 13, 2010, 4:10:45 PM5/13/10
to better-p...@googlegroups.com
13 мая 2010 г. 23:38 пользователь Sergey Schetinin <mal...@gmail.com> написал:

> 2010/5/13 Алексей С. <phli...@gmail.com>
>>
>> 13 мая 2010 г. 14:25 пользователь Sergey Schetinin <mal...@gmail.com>
>> написал:
>> > Это большая работа, там нужно иметь пользователей которые пользуются
>> > разными
>> > базами и есть масса причин не включать такое в библиотеку для
>> > веб-разработки.
>>
>> А можно узнать некоторые причины?
>
> * бд это не только для веб-разработки, поэтому в pasteob смотрелось бы
> странно
> * трудно тестировать (нужны разные разные сервера баз данных)
> * это требует довольно много кода который вообще перевесит всё остальное
> * часто бд не нужно или используется что-то альтернативное gae datastore,
> всякие key-value store
>
> в принципе какую-то свою минимальную прослойку поверх dbapi может и имеет
> смысл сделать, но ей все равно не место в pasteob

я бы форканул вот эту библиотечку http://furius.ca/antiorm/
кода мало, а если переписать, то его еще в разы станет меньше.
ну, и драйвер только под mysql - тогда получиться что только под веб))


>
>> Заодно и понять,в какую сторону может развитаться pasteob.
>> И по каким соображениям включены те, или иные модули.
>
> Из заметного я думаю будут модули по обобщенному доступу к кешам (тупо в
> памяти, memcache и прочее) и возможно key-value хранилищам. И сессии которые
> с этим всем по идее увяжутся.

ну, без сессий как то плохо, вэб приложение без сессий не
представляю(если есть хоть мало мальская регистрация и все такое)


> Еще может что-то простенькое для тестирования задеплоеных приложений, но не
> уверен что этому место в pasteob.
>

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


>
>>
>> >
>> > Плюс есть SQLAlchemy которая отлично решает все эти задачи.
>> Не пользовался, но это по больше части ORM я так понимаю.
>> я смысла в орм вообще не вижу, и всё что видел(пхп в основом) мне не
>> нравилось, ооочень геморно.
>>
>
> Там прослойка orm полностью отдельная, то есть если не хочется ей
> пользоваться, то можно использовать только прослойку которая позволяет
> работать с разными бд не привязываясь к конкретике. Создавать sql выражения
> выражениями в python и всё такое.
>
> Я алхимический orm не использую, а раздражение всем остальным недостаточно
> велико чтобы браться переделать его "как надо". В частности мне нравится
> мысль, что я всегда могу переключиться с sqlite на какой-нибуть оракл,
> потому что эту работу по обобщению за меня уже кто-то сделал. Но главное
> вообще что с SQL базами я сейчас мало работаю, если бы пришлось / придется
> работать больше, то скорее всего появится какой-нибудь mext.sql

кстати токо что в рсс.

Используется sqlalchemy 0.6

Кусок рабочего кода:

q = session.query(TvVideosLng)
q = q.filter( TvVideosLng.id > last_id )
q = q.limit( limit )
rows = q.all()

Последняя строчка вылетает с чудеснейшей ошибкой:
sqlalchemy.exc.OperationalError: (OperationalError) (1142, "UPDATE
command denied to user...

Для тех, кто не понял: у юзера доступ к базе только на чтение, а
алхимия пытается при этом запросе что-то изменить. Вопрос - с чего
вдруг?
http://community.livejournal.com/ru_python/279376.html

Алексей С.

unread,
May 13, 2010, 4:23:25 PM5/13/10
to better-p...@googlegroups.com
и наверное не плохо бы.
пару строк кода для
- аплоуда файлов на сервер
- обработка форм


13 мая 2010 г. 23:38 пользователь Sergey Schetinin <mal...@gmail.com> написал:

Sergey Schetinin

unread,
May 13, 2010, 4:30:22 PM5/13/10
to better-p...@googlegroups.com
> в принципе какую-то свою минимальную прослойку поверх dbapi может и имеет
> смысл сделать, но ей все равно не место в pasteob

я бы форканул вот эту библиотечку http://furius.ca/antiorm/
кода мало, а если переписать, то его еще в разы станет меньше.
ну, и драйвер только под mysql - тогда получиться что только под веб))

Нужно минима sqlite и postgres еще.

Вообще я чем дальше тем больше даже с полноценными DBRM работаю как с key-value store, то есть без JOIN вообще. Поэтому если так дальше пойдет, то просто с таким же интерфейсом (навроде словаря) сделаю backend который реально в sql базе хранит. Но это всё такая специфика что если говорить что это модуль для работы с БД, то люди не поймут.

 

>
>> Заодно и понять,в какую сторону может развитаться pasteob.
>> И по каким соображениям включены те, или иные модули.
>
> Из заметного я думаю будут модули по обобщенному доступу к кешам (тупо в
> памяти, memcache и прочее) и возможно key-value хранилищам. И сессии которые
> с этим всем по идее увяжутся.

ну, без сессий как то плохо, вэб приложение без сессий не
представляю(если есть хоть мало мальская регистрация и все такое)
> Еще может что-то простенькое для тестирования задеплоеных приложений, но не
> уверен что этому место в pasteob.
>
хм. а я вообще за то, чтобы бы было по больше, тестирующих и проверяющих утилит,
может утилиты, хм. или демоны, которые следили бы за доступностью
сайта, во, и еще постоянно шерстить на наличие вирусов. Ну это я так.
мечтаю.

Насчет проверки доступности сайта рекомендую host-tracker.com


 

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

Алексей С.

unread,
May 13, 2010, 4:40:24 PM5/13/10
to better-p...@googlegroups.com
еще вспомнил,
отправка email с аттачем.
если честно, как в питоне отправляется письмо с аттачем не знаю

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

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


14 мая 2010 г. 0:23 пользователь Алексей С. <phli...@gmail.com> написал:

Sergey Schetinin

unread,
May 13, 2010, 4:45:48 PM5/13/10
to better-p...@googlegroups.com
Есть у меня для этого модули но проприетарные и такими пока и останутся. Сама посылка почты еще ладно, а вот всякие структуры данных под MIME и сопровождающее настолько лучше всего что есть в опен-сорсе что я просто жадничаю. В общем пока так и будет.


2010/5/13 Алексей С. <phli...@gmail.com>

Алексей С.

unread,
May 13, 2010, 4:51:02 PM5/13/10
to better-p...@googlegroups.com
14 мая 2010 г. 0:45 пользователь Sergey Schetinin <mal...@gmail.com> написал:

> Есть у меня для этого модули но проприетарные и такими пока и останутся.
> Сама посылка почты еще ладно, а вот всякие структуры данных под MIME и
> сопровождающее настолько лучше всего что есть в опен-сорсе что я просто
> жадничаю. В общем пока так и будет.

то есть жадничаете?)
я как то, малость шокирован

"я написал мега отправку письма, и никому не покажу" ??)

Sergey Schetinin

unread,
May 13, 2010, 5:03:09 PM5/13/10
to better-p...@googlegroups.com
2010/5/13 Алексей С. <phli...@gmail.com>

14 мая 2010 г. 0:45 пользователь Sergey Schetinin <mal...@gmail.com> написал:
> Есть у меня для этого модули но проприетарные и такими пока и останутся.
> Сама посылка почты еще ладно, а вот всякие структуры данных под MIME и
> сопровождающее настолько лучше всего что есть в опен-сорсе что я просто
> жадничаю. В общем пока так и будет.

то есть жадничаете?)
я как то, малость шокирован

"я написал мега отправку письма, и никому не покажу" ??)

Что-то в этом роде. Это конкурентное преимущество и его не нужно разбазаривать.

Вот скажем Reaction тоже дает такое неслабое преимущество тому кто сумеет им воспользоваться -- но там круг людей которые её осилят настолько узок, что с ними лучше просто совместно работать. Опять таки там есть что отлаживать, и поэтому это взаимовыгодно.

А mext.mime / mext.sendmail я не спешу публиковать. Просто оно как бывает -- вот я допустим потрачу какое-то время на публикацию, документацию, ответы на вопросы, на разработку опять таки потратил время. Потом N человек просто возьмет и сэкономит на этом время. Получается я как дурак сделал чью-то работу. Это не беда, но у меня пока нет времени на благотворительность.

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

Как-то так.

 

Алексей С.

unread,
May 13, 2010, 5:15:08 PM5/13/10
to better-p...@googlegroups.com
пытаюсь полученную информация связать с pasteob
как то не вяжется)

зачем поделились с миром?)
или вы делитесь только тем, что выгодно.
ну допустим, ReqAddon, может кто что посоветует, предложит свои
решения, видения, и так далее

а отправка письма, как бы все понятно, решения тоже ясны, законченный,
почти коробочный продукт,
поэтому ну нафик, пишите сами)

14 мая 2010 г. 1:03 пользователь Sergey Schetinin <mal...@gmail.com> написал:

Алексей С.

unread,
May 13, 2010, 5:15:59 PM5/13/10
to better-p...@googlegroups.com
еще кстати
* аплоуд файлов на сервер
* обработка форм

14 мая 2010 г. 1:03 пользователь Sergey Schetinin <mal...@gmail.com> написал:

Sergey Schetinin

unread,
May 13, 2010, 5:34:14 PM5/13/10
to better-p...@googlegroups.com
2010/5/14 Алексей С. <phli...@gmail.com>

пытаюсь полученную информация связать с pasteob
как то не вяжется)

зачем поделились с миром?)
или вы делитесь только тем, что выгодно.
ну допустим, ReqAddon, может кто что посоветует, предложит свои
решения, видения, и так далее

Ну этого как раз среди причин нет -- ни советов ни решений в этом ключе мне не надо, reqaddon решает свою задачу на 100%.

Причины другие, среди них то, о чем я уже сказал -- я пользуюсь опен-сорсом и потому сам его выпускаю.
Если говорить о выгоде, то она скорей в том, что если взгляд на веб-разработку будет ближе к продемонстрированому в pasteob то меньше будет нужды писать что-то заново. Это получается вклад в "экосистему" в которой я работаю.

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

Если я всё опубликую, да еще постараюсь эти пакеты раскрутить, то я потом круглый день буду сидеть отвечать на вопросы да дорабатывать это всё. Поэтому нужен баланс. Так что это я так для краткости сказал про "жадность", просто так я на данный момент провел грань -- что публиковать, а что нет.


 

Sergey Schetinin

unread,
May 13, 2010, 5:35:32 PM5/13/10
to better-p...@googlegroups.com
Если коротко: альтруизм, но с поправкой на реальную жизнь.

2010/5/14 Sergey Schetinin <mal...@gmail.com>

Алексей С.

unread,
May 15, 2010, 2:42:49 AM5/15/10
to better-p...@googlegroups.com
14 мая 2010 г. 1:34 пользователь Sergey Schetinin <mal...@gmail.com> написал:

> 2010/5/14 Алексей С. <phli...@gmail.com>
>>
>> пытаюсь полученную информация связать с pasteob
>> как то не вяжется)
>>
>> зачем поделились с миром?)
>> или вы делитесь только тем, что выгодно.
>> ну допустим, ReqAddon, может кто что посоветует, предложит свои
>> решения, видения, и так далее
>
> Ну этого как раз среди причин нет -- ни советов ни решений в этом ключе мне
> не надо, reqaddon решает свою задачу на 100%.

понятно, тогда ждем примеры использования, а то если честно я не
понял, как использовать,
да и в рассылке люди вроде тож не понял, Ян писал, про то что не может
понят, когда проблема оторвана от контекста.
как то так вроде было.

>
> Причины другие, среди них то, о чем я уже сказал -- я пользуюсь опен-сорсом
> и потому сам его выпускаю.
> Если говорить о выгоде, то она скорей в том, что если взгляд на
> веб-разработку будет ближе к продемонстрированому в pasteob то меньше будет
> нужды писать что-то заново. Это получается вклад в "экосистему" в которой я
> работаю.

примеров использования мало. или их нет(
может для опытного человека все это очевидно, но для не
подготовленного - как то не очень.
тотуриала нету, допустим у Яна много примеров по WebOB(пример вики,
отдача файлов и так далее)
хотя на это нужно время

Reply all
Reply to author
Forward
0 new messages