Elixir plugin for cherrypy
Project description
CherrypyElixir is a cherrypy plugin that provides elixir functionalities on top of sqlalchemy , within cherrypy as a process bus plugin.
Example:
import cherrypy
import CherrypyElixir
from elixir import Entity, String, Field, OneToMany, Unicode, ManyToOne
CherrypyElixir.setup()
# define models
class Person(Entity):
name = Field(String(128))
addresses = OneToMany('Address')
class Address(Entity):
email = Field(Unicode(128))
owner = ManyToOne('Person')
class Root(object):
@cherrypy.expose
@cherrypy.tools.elixir()
def index(self):
yield '<ul>'
for p in Person.query:
yield '<li>'
yield p.name
yield ' '
yield ','.join([a.email for a in p.addresses])
yield '</li>'
yield '</ul>'
@cherrypy.expose
@cherrypy.tools.elixir()
def add(self,name=None,address=None):
p = Person(name = name)
for addr in address.split(','):
p.addresses.append(Address(email=addr))
_cp_config={
'global':{
'server.socket_host' : '0.0.0.0',
'server.socket_port' : 1919,
'engine.elixir.on' : True,
'engine.elixir.echo' : True,
'engine.elixir.db_uri' : 'sqlite://test.db'
},
}
if __name__ == '__main__':
cherrypy.quickstart(Root(), '', config=_cp_config)
To access sqlalchemy’s scoped_session directly , you can use cherrypy.request.db
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
CherrypyElixir-0.5.1.tar.gz
(3.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file CherrypyElixir-0.5.1.tar.gz.
File metadata
- Download URL: CherrypyElixir-0.5.1.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec4881280f97b977f5ee7a0618c77897f124899095317261a8eac6be2c36fceb
|
|
| MD5 |
746308d06c273e0cd9046b3a10d988c4
|
|
| BLAKE2b-256 |
ae952212961c2483f47418315a5071914e0101253bb29dc4f29727c810d63768
|
File details
Details for the file CherrypyElixir-0.5.1-py2.7.egg.
File metadata
- Download URL: CherrypyElixir-0.5.1-py2.7.egg
- Upload date:
- Size: 5.4 kB
- Tags: Egg
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
127498a84cb79056a3abae109d8de39c4113d45d0af81453c35cd313477bb626
|
|
| MD5 |
80e5d4770989a3922c2b199affa0460c
|
|
| BLAKE2b-256 |
1b481bf6048471b4c616f8892b8c3ab5347db136bd663ef85b0fdee7d04fba2f
|