zope.paste

Software screenshot:
zope.paste
Software detaljer:
Version: 1.0.0 Alpha 1
Upload dato: 20 Feb 15
Udvikler: Sidnei da Silva
Licens: Gratis
Popularitet: 4

Rating: 5.0/5 (Total Votes: 1)

zope.paste er en pakke, der giver dig mulighed for
- Ansætte WSGI middlewares inde i en Zope 3 ansøgning
- Implementere Zope 3 applikationsserver på enhver WSGI-stand webserver
hjælp PasteDeploy. Det er to helt forskellige modi operandi, som kun har det til fælles, at de er lette PasteDeploy. Hver er forklaret i detaljer nedenfor.
WSGI middlewares inde Zope 3
zope.paste gør det muligt at stable WSGI middlewares oven på Zope 3 udgiver ansøgning uden at ændre den måde, du konfigurerer Zope (zope.conf) eller køre den (runzope, zopectl).
Konfiguration er meget enkel. Antages det, at du allerede har oprettet en Zope 3 instans ved hjælp af mkzopeinstance script, der er tre trin, der skal udføres:
Installation og konfiguration af zope.paste
zope.paste kan installeres som et æg overalt på din PYTHONPATH eller blot faldt i din / lib / python bibliotek. Så har du brug for at aktivere zope.paste s ZCML konfiguration ved at oprette filen /etc/package-includes/zope.paste-configure.zcml med følgende indhold:

Konfiguration af serveren
Vi skaber en direktivet i /etc/zope.conf at bruge zope.paste server definition, Paste.Main. På den måde WSGI middlewares vil blive kaldt, når serveres reaktioner gennem denne server:

& Nbsp; typen Paste.Main
& Nbsp; adresse 8081

Konfiguration af WSGI stakken
Nu skal vi konfigurere en WSGI program ved hjælp PasteDeploy syntaks i /etc/paste.ini. Her er et eksempel på, hvordan du konfigurerer Paste.Main program til at bruge Zope 3 udgiveren som WSGI ansøgning, derfor gør præcis det samme, at de regelmæssige HTTP-server definition ville gøre:
[App: Paste.Main]
paste.app_factory = zope.paste.application: zope_publisher_app_factory
Det er ikke virkelig interessant, selv om. PasteDeploy tillader dig at kæde forskellige WSGI enheder sammen, som er, hvor det bliver interessant. Der synes at være en sondring mellem »apps« og »filtre« (også benævnt »middleware«). Et eksempel, der kunne være af interesse at anvende et XSLT transformation til udgangen på Zope 3 WSGI ansøgning.
Heldigvis nok, nogen synes at have allerede skabt en WSGI filter til at anvende en XSLT stylesheet. Du kan finde den på http://www.decafbad.com/2005/07/xmlwiki/lib/xmlwiki/xslfilter.py
Hvis du ønskede at anvende denne WSGI filter til Zope 3, ville du brug for tre ting:
1. Sæt xslfilter.py filen et sted i PYTHONPATH. / Lib / python er et godt sted.
2. Læg denne kodestump til bunden af ​​xslfilter.py:
& Nbsp; def filter_factory (global_conf, ** local_conf):
& Nbsp; def filtrere (app):
& Nbsp; returnere XSLFilter (app)
& Nbsp; returfilter
3. Skift paste.ini fil på følgende måde:
& Nbsp; [pipeline: Paste.Main]
& Nbsp; pipeline = XSLT main
& 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; Hvad det betyder er at definere en rørledning. Læs mere om dette på PasteDeploy hjemmeside. Se kilden til xslfilter.py for oplysninger om, hvordan man passerer en stylesheet til filteret.
Implementering Zope 3 på en WSGI-kompatibel webserver
zope.paste tillader dig at køre Zope 3 på enhver WSGI-stand webserver software ved hjælp PasteDeploy. Til dette vil du ikke længere brug for en Zope 3 instans (selvom du stadig kan have en), vil du ikke konfigurere Zope 3 til zope.conf og vil ikke starte den ved hjælp runzope eller zopectl.
Konfiguration ansøgningen
zope.paste giver en PasteDeploy-kompatibel fabrik til Zope 3s WSGI udgiver ansøgning og registrerer det i en indgang. Vi kan derfor skabe en meget enkel Zope 3 ansøgning i en PasteDeploy konfigurationsfil (f.eks paste.ini):
[App: main]
brug = æg: zope.paste
site_definition = /path/to/site.zcml
file_storage = /path/to/Data.fs
devmode = på
I dette tilfælde /path/to/site.zcml henviser til en site.zcml som det kendes fra en Zope 3 instans. Man kan for eksempel sætte paste.ini i et eksisterende Zope 3 f.eks siden site.zcml.
Konfiguration af ZODB databasen
I stedet for at henvise til en ZODB FileStorage hjælp af file_storage indstilling, kan du også konfigurere flere eller andre ZODB underliggende databaser i et ZConfig stil konfigurationsfil (meget gerne zope.conf), fx følgende konfigurerer et ZEO klient:

& Nbsp;
& Nbsp; server localhost: 8100
& Nbsp; opbevaring 1
& Nbsp; cache-størrelse 20 MB
& Nbsp;


Der henvises til denne fil fra paste.ini denne måde (og slet file_storage indstilling):
db_definition = db.conf
Konfiguration af serveren
For at kunne bruge vores Zope program, vi behøver kun at tilføje en server definition. Vi kan bruge den, der kommer med Paste eller PasteScript snarere:
[Server: main]
brug = æg: PasteScript # wsgiutils
vært = 127.0.0.1
port = 8080
Nu kan vi begynde programmet ved hjælp af Paster kommando, der kommer med PasteScript:
& Nbsp; Paster tjene paste.ini
WSGI middlewares kan konfigureres som beskrevet ovenfor eller på PasteDeploy hjemmeside

Hvad er nyt i denne udgivelse:.

  • Tilføjet understøttelse for Python 3.3.
  • Faldt støtte til Python 2.4 og 2.5.
  • Fjernet støtte til at ansætte WSGI middlewares inde i en Zope 3 program. Kun serveren startscriptet-baserede understøttes nu.
  • Tilføjet en ny konsol script til at køre en pasta-konfigureret WSGI server og anvendelse.
  • Overholder standard ZF projekt layout.
  • Tilføjet licens og copyright-fil. Også fast copyright erklæring i fil headers.
  • Tilføjet MANIFEST.in og tox.ini.

Hvad er nyt i version 0.4:

  • Føj denne changelog, rekonstrueret fra SVN logs og udgivelsesdatoer på PyPI.
  • Support en 'Features' config indstilling i PasteDeploy INI-fil, der kan indeholde et rum-adskilt liste af funktionsnavne. Disse kan testes for i ZCML filer med syntaks.
  • Tidligere eneste funktion, der kan aktiveres var »devmode", og det havde sin egen indstilling. For bagudkompatibilitet, devmode = på Tilføjer 'devmode "funktion til funktionen listen.

Krav :

  • Python

Kommentarer til zope.paste

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!