negotiate

Software skärmdump:
negotiate
Mjukvaruinformation:
Version: 0.0.1
Ladda upp dagen: 14 Apr 15
Utvecklare: Nick Stenning
Licens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

förhandla är en smart, enkel innehållsförhandling för Python webbapplikationer.
Innehåll förhandling kan vara svårt att göra bra. Helst bör din kod vara torr, och du skulle inte upprepa samma gamla standardtext i flera view metoder för att släppa ut samma domän objekt i olika format. förhandla hjälper till att göra ditt liv ännu enklare genom att du kan dekorera dina view metoder med formate som automatiskt översätter dina domän föremål i som kunden formatet.
Det är verkligen enkelt att använda. Förhoppningsvis detta exempel (för en Flask ansökan) gör de viktigaste punkterna tydlig:
# Först skriver vi ett par formate som anger hur man översätter det
# Utgång anser funktionen i ett visst format. Här definierar vi en
# JSON formateraren och en HTML formaterings som tar en mall parameter.
från negotiate.flask importFormate
klass JSONFormatter (Formatter):
& Nbsp; format = 'json "
& Nbsp; Mime-typer = ['application / json']
& Nbsp; def render (själv, obj):
& Nbsp; retur json.dumps (obj)
klass HTMLFormatter (Formatter):
& Nbsp; format = 'json "
& Nbsp; Mime-typer = ['text / html']
& Nbsp; def konfigurera (själv, mall):
& Nbsp; self.template = mall
& Nbsp; def render (själv, obj):
& Nbsp; återgå render (self.template, ** obj)
# Sedan, när du bygger programmet, dekorera vi utsikten funktionen med
# "Förhandla" dekoratör, listar de format som denna uppfattning är tillgänglig.
från negotiate.flask import förhandla
@ App.route ('/ inlägg / ')
@ App.route ('/ inlägg / . ')
negotiate (JSONFormatter)
negotiate (HTMLFormatter, mall = 'post.html')
def view_post (id, format = None):
& Nbsp; stolpen = Posts.by_id (id)
& Nbsp; om inlägget är Ingen:
& Nbsp; abort (404)
& Nbsp; om inte g.user.authorize ("läsa", inlägg):
& Nbsp; abort (401)
& Nbsp; avkastning {"post": inlägg}
Resultatet är en vy åtgärd som kommer att återvända en HTML-version av tjänsten som standard (dvs med Accept: * / * och ingen uttrycklig format), eller om den .html uttryckligen anges, eller en JSON version av inlägg om det .json förlängning ges eller Acceptera: application / json skickas med begäran.
Support
förhandla närvarande stöder Flask och pyloner, även lägga till stöd för andra webbramverk borde vara ganska enkelt. Ta en titt på förhandla / flask.py och förhandla / pylons.py att se den lilla mängd integrationskoden krävs

Krav :.

  • Python

Annan programvara för utvecklare Nick Stenning

Honcho
Honcho

20 Feb 15

imaprelay
imaprelay

14 Apr 15

envmgr
envmgr

20 Feb 15

Kommentarer till negotiate

Kommentarer hittades inte
Kommentar
Slå på bilder!