pyramid_twitterauth er en plugin som strekker pyramid_simpleauth å tillate en Pyramid programmets brukerne autentiseres via Twitter og / eller koble sin Twitter-konto.
Når de har gjort det, får du en godkjent Tweepy klient som request.twitter.client og flagg for has_read_access & has_write_access ::
# F.eks .: i en visning Callable
hvis request.twitter.has_write_access:
& nbsp; request.twitter.client.update_status ('OMG #lolcats')
Installer
Installere pakken som du gjør med andre Python egg, for eksempel:
easy_install pyramid_twitterauth
Da tas den sammen med en økt fabrikk, pyramid_tm, pyramid_basemodel og pyramid_simpleauth i konfigurasjonen del av Pyramid app:
# Konfigurer en sesjon fabrikken, her bruker vi `pyramid_beaker`.
config.include ('pyramid_beaker')
config.set_session_factory (session_factory_from_settings (innstillinger))
# Inkluder pakkene. Rekkefølgen er viktig hvis du vil
# `Pyramid_basemodel` å" bare jobbe ".
config.include ('pyramid_simpleauth')
config.include ('pyramid_twitterauth')
config.include ('pyramid_basemodel')
# Enten inkluderer `pyramid_tm` eller håndtere begå transaksjoner selv.
config.include ('pyramid_tm')
Merk at du må gi en sqlalchemy.url i dine INI-innstillinger, eller binde SQLAlchemy modeller og omfangs Session til en database motor selv.
Mode
I standardmodus, pakken lar brukerne til å autentisere via Twitter. Dette gjøres ved å utsette de følgende synspunkter ::
- / Oauth / twitter / authenticate
- / Oauth / twitter / authenticate_callback
- / Oauth / twitter / ikke bestått
- En HTTPForbidden syn som omdirigerer til / oauth / twitter / authenticate
I "connect" -modus, lar pakken eksisterende autentiserte brukere å koble sine Twitter-kontoer. Dette gjøres ved å utsette visninger på ::
- / Oauth / twitter / authorize
- / Oauth / twitter / authorize_callback
Disse to modusene er for tiden gjensidig utelukkende. For å aktivere "koble" -modus, satt twitterauth.mode i dine INI-innstillinger ::
twitterauth.mode = koble
Innstillinger
Angi din Twitter app OAuth forbrukerinfo i ::
twitterauth.oauth_consumer_key =
twitterauth.oauth_consumer_secret =
Visninger er utsatt som standard på / oauth / twitter / .... Hvis du vil bruke en annen vei:
twitterauth.url_prefix = 'sted'
Tester
Jeg har bare testet den pakken under Python 2.6 og 2.7 atm. Du trenger nese, dekning, mock og WebTest. Deretter, f.eks .:
$ nosetests --cover-pakke = pyramid_twitterauth --cover-tester --with-doctest --with-dekning pyramid_twitterauth
......................................
Nevne Stmts Miss Cover Missing
-------------------------------------------------- -------
pyramid_twitterauth 18 0 100%
pyramid_twitterauth.hooks 28 0 100%
pyramid_twitterauth.model 21 0 100%
pyramid_twitterauth.tests 370 0 100%
pyramid_twitterauth.view 157 0 100%
-------------------------------------------------- -------
TOTALT 594 0 100%
-------------------------------------------------- --------------------
Ran 45 tester i 9.090s
OK
Krav :
- Python
- pyramide
Kommentarer ikke funnet