zope.paste

Sagteware kiekie:
zope.paste
Sagteware besonderhede:
Weergawe: 1.0.0 Alpha 1
Upload datum: 20 Feb 15
Ontwikkelaar: Sidnei da Silva
Lisensie: Gratis
Populariteit: 1

Rating: 5.0/5 (Total Votes: 1)

zope.paste is 'n pakket wat jy kan
- Diens WSGI middlewares binne 'n Zope 3 aansoek
- Sit die Zope 3 toepassing bediener op enige WSGI-staat webbediener
gebruik van PasteDeploy. Dit is twee heeltemal verskillende modi operandi wat net in gemeen het dat hulle fasiliteer PasteDeploy. Elke saak word verduidelik in detail hieronder.
WSGI middlewares binne Zope 3
zope.paste kan jy WSGI middlewares op die top van Zope 3 se uitgewer aansoek te stapel sonder om die manier waarop jy instel Zope (zope.conf) of loop dit (runzope, zopectl).
Opset is baie eenvoudig. Die veronderstelling dat jy reeds 'n Zope 3 byvoorbeeld die gebruik van die mkzopeinstance script, is daar drie stappe wat uitgevoer moet word:
Installering en instel zope.paste
zope.paste kan word geïnstalleer as 'n eier op enige plek op jou PYTHONPATH of net laat val in jou / lib / luislang gids. Dan moet jy zope.paste se ZCML opset in staat te stel deur die skep van die lêer /etc/package-includes/zope.paste-configure.zcml met die volgende inhoud:

Die bediener instel
Ons skep 'n richtlijn in /etc/zope.conf zope.paste se bediener definisie, Paste.Main te gebruik. Op dié manier die WSGI middlewares sal toegepas word wanneer antwoorde bedien deur hierdie bediener:

& Nbsp; type Paste.Main
& Nbsp; adres 8081

Die instel van die WSGI stapel
Nou het ons konfigureer 'n WSGI aansoek met behulp van PasteDeploy sintaksis in /etc/paste.ini. Hier is 'n voorbeeld van hoe die Paste.Main aansoek om die Zope 3 uitgewer te gebruik as 'n WSGI aansoek op te stel, dus doen presies dieselfde ding wat die gereelde HTTP bediener definisie sou doen:
[App: Paste.Main]
paste.app_factory = zope.paste.application: zope_publisher_app_factory
Dit is nie regtig interessant, al is. PasteDeploy kan jy ketting verskeie WSGI entiteite saam, en dit is waar dit raak interessant. Daar blyk 'n onderskeid tussen 'apps' en 'filters' te wees (ook na verwys as 'middleware'). 'N Voorbeeld wat dalk van belang is die toepassing van 'n XSLT transformasie aan die uitset van die Zope 3 WSGI aansoek.
Gelukkig genoeg is nie, iemand lyk het al 'n WSGI filter vir die toepassing van 'n XSLT style. Jy kan dit vind op http://www.decafbad.com/2005/07/xmlwiki/lib/xmlwiki/xslfilter.py
As jy wou hierdie WSGI filter na wend aan Zope 3, sal jy nodig het om drie dinge:
1. Plaas die xslfilter.py lêer iewers in PYTHONPATH. / Lib / luislang is 'n goeie plek.
2. Voeg hierdie brokkie aan die onderkant van xslfilter.py:
& Nbsp; def filter_factory (global_conf, ** local_conf):
& Nbsp; def filter (app):
& Nbsp; terugkeer XSLFilter (app)
& Nbsp; terugkeer filter
3. Verander paste.ini lêer as volg:
& Nbsp; [pyplyn: Paste.Main]
& Nbsp; pyplyn = XSLT belangrikste
& Nbsp; [app: main]
& Nbsp; paste.app_factory = zope.paste.application: zope_publisher_app_factory
& Nbsp; [filter: XSLT]
& Nbsp; paste.filter_factory = xslfilter: filter_factory
& Nbsp; Wat dit beteken is 'n pypleiding te definieer. Hier is meer oor hierdie op die PasteDeploy webwerf. Verwys na die bron van xslfilter.py vir inligting oor hoe om 'n stylblad om te slaag om die filter.
Die implementering van Zope 3 op 'n WSGI-staat webbediener
zope.paste kan jy Zope 3 uit te voer op 'n WSGI-staat webbediener deur gebruik te maak PasteDeploy. Want dit wat jy sal nie langer 'n Zope 3 byvoorbeeld (al is jy kan nog steeds een het), sal jy nie instel Zope 3 deur zope.conf en sal nie begin om dit met behulp van runzope of zopectl.
Die aansoek instel
zope.paste bied 'n PasteDeploy-versoenbaar fabriek vir Zope 3 se WSGI uitgewer aansoek en registreer dit in 'n beginpunt. Ons kan dus die skep van 'n baie eenvoudige Zope 3 toepassing in 'n PasteDeploy konfigurasielêer (bv paste.ini):
[App: main]
gebruik = eier: zope.paste
site_definition = /path/to/site.zcml
file_storage = /path/to/Data.fs
DEVMODE = op
In hierdie geval, /path/to/site.zcml verwys na 'n site.zcml as bekend van 'n Zope 3 byvoorbeeld. Jy kan, byvoorbeeld, sit paste.ini in 'n bestaande Zope 3 byvoorbeeld langs site.zcml.
Die ZODB databasis instel
In plaas daarvan om te verwys na 'n ZODB FileStorage die gebruik van die file_storage omgewing, kan jy ook verskeie of ander ZODB databasis back ends in 'n ZConfig-styl konfigurasielêer (baie soos zope.conf), bv instel die volgende opgestel het 'n ZEO kliënt:

& Nbsp;
& Nbsp; bediener localhost: 8100
& Nbsp; berging 1
& Nbsp; kas-grootte 20MB
& Nbsp;


Verwys na hierdie lêer van paste.ini hierdie manier (en verwyder die file_storage omgewing):
db_definition = db.conf
Die bediener instel
In staat te wees om ons Zope aansoek te gebruik, ons moet net 'n bediener definisie te voeg. Ons kan die een wat kom met Plak of PasteScript, eerder gebruik:
[Bediener: main]
gebruik = eier: PasteScript # wsgiutils
gasheer = 127.0.0.1
hawe = 8080
Nou kan ons die program begin met behulp van die paster opdrag wat kom met PasteScript:
& Nbsp; paster dien paste.ini
WSGI middlewares kan ingestel word soos bo of op die PasteDeploy webwerf beskryf

Wat is nuut in hierdie release:.

  • Bygevoeg ondersteuning vir Python 3.3.
  • Drop ondersteuning vir Python 2.4 en 2.5.
  • verwyder ondersteuning vir die gebruik van WSGI middlewares binne 'n Zope 3 aansoek. Slegs die script-based bediener begin is nou ondersteun.
  • 'n Nuwe konsole script 'n pasta-ingestel WSGI bediener en aansoek te hardloop.
  • Verenigbaar standaard ZF projek uitleg.
  • Added lisensie en kopiereg lêer. Ook vaste kopiereg verklaring in die lêer kop.
  • Added MANIFEST.in en tox.ini.

Wat is nuut in die weergawe 0.4:

  • Voeg hierdie changelog, herbou van svn logs en die vrylating datums PyPI.
  • Ondersteun 'n 'features' config opsie in die PasteDeploy INI-lêer, wat kan 'n spasie-geskeide lys van funksie name bevat. Dit kan getoets word in ZCML lêers met die sintaksis.
  • Voorheen is die enigste funksie wat dit moontlik kan word, is 'DEVMODE' en dit het sy eie keuse. Vir backwards compatibility, DEVMODE = op voeg 'n 'DEVMODE' funksie by die lys funksie.

Vereistes :

  • Python

Kommentaar te zope.paste

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!