corduroy

Een asynchrone couchdb clientbibliotheek
Download nu

corduroy Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Christian Swinehart
  • Uitgever website:
  • http://samizdat.cc/

corduroy Tags


corduroy Beschrijving

Corduroy is een Python-module die een pythonvriendelijke wrapper biedt rond de HTTP-gebaseerde API van Couchdb. Achter de schermen haakt het aan de asynchrone I / O-routines van uw keuze van Tornado of de verzoeken en GEVENT-modules. Gebruikt Corduroy U kunt de database onderzoeken zonder de gebeurtenislus van uw server te blokkeren, waardoor het ideaal is voor CouchApp Micro-middleware of Scripted Batch-operaties .USAAGEA EEN ECHTE WERELD (ISH) Voorbeeld van het werken met Corduroy, overweeg dit paar Tornado-gebeurtenishandlers die een URL-specifiek document bijwerken en vervolgens een mening vragen. De eerste gebruikt expliciete callbacks om de uitvoering te hervatten nadat elke reactie uit de database wordt ontvangen: DB = Database ('spelers') Klasse rankingsupdater (tornado.web.requestHandler): @ tornado.web.asynchrone Def Post (Self, Player_ID): Zelf .new_score = int (self.request.body) db.get (speler_id, callback = self.got_player) Def Got_Player (Doc, Status): doc.score = self.new_score db.save (doc, callback = self.saved_Player) Def Saved_Player (conflicten, status): db.view ('Leaderboard / highscores', callback = self.got_highscores) Def Got_highscores (rijen, status): zelf.write (JSON.dumps (rijen)) Zelf.Finish () Een alternatief Syntaxis is beschikbaar (bij gebruik van Tornado) door het gebruik van de @relax-decorateur. In plaats van callbacks te definiëren voor elke database-bediening, kan de bibliotheek worden genoemd als onderdeel van de generatormodule van een opbrengstuitdrukking. De generatormodule van TORNORDO onderscheppen deze opbrengsten en geef automatisch een terugbellen. Het resultaat is CODE die er behoorlijk sequentieel uitziet, maar zal nog steeds asyncronously uitvoeren: Klasse RankingsUpDater (Tornado.Web.RequestHandler): @relax Def Post (Self, Player_Id): # Werk de score van deze speler bij. Score = int (self.request.body) levert DB.SAVE (DOC) # Retourneer de nieuwe ranglijsten Highscores = Yield DB.View ('Leaderboard / Highscores') Self.Write (JSON.Dumps (Highscores)) Self.Finish ( ) Voor een zachte introductie tot Corduroy (en CouchDB in het algemeen), bekijk de gids. Documentatie voor alle moduleklassen van Corduroy-niveau zijn te vinden in de referentiesectie.InstallatieAutomatische installatieCorduroy is te vinden op PYPI en kan worden geïnstalleerd met uw keuze van PIP of Easy_Install.Manual InstallationDownload Corduroy-0.9.0.tar.gz: TAR XVZF Corduroy-0.9.0.tar.gzcd Corduroy-0.9.0python Setup.py InstallDepenciesIs Als u een Tornado-app schrijft, kan Corduroy zijn Pure-Python HTTP-client gebruiken door te installeren met: PIP Installeer Corduroy Tornadoor als u de libcurl wilt verkiezen -Based Client (die Pooling en andere niceties ondersteunt), gebruik: PIP Installeer Corduroy Tornado Pycurlif Pycurl Klaagt (ik kijk naar u, OS X), PROGE : PIP Installeer Corduroy-aanvragen GeventThe Library kan ook worden gebruikt met gewoon oude blokkering I / O: PIP Installeer Corduroy RequestsProduct's startpagina


corduroy Gerelateerde software