Utilities for google app engine
Project description
===========
Turboengine
===========
Google app engine utilities using some django's ideas.
Install
-------
:
git clone git://github.com/carlitux/turboengine.git
cd turboengine
python setup.py Install
Usage
-----
Create an setting.py file and can add variables settings as you want, but
this is some commons variables::
TEMPLATE_PATH = 'templates'
# setting DEBUG
DEBUG = True
SITE_TITLE = 'turboengine for GAE'
# mapping (parent url, appname)
INSTALLED_APPS = [(parent_url, appnane)] # app names shouldn't be standard python libraries and they should be importables into PYTHONPATH
TEMPLATE_TAGS_PATHS = [] # not used but it will be used in feature for loading templatetags
ERROR_PAGE_PATH = '/error/' # path where will be redirected the error
LOGIN_PATH_REDIRECT = '/' # path where redirect after login or logout
PROFILE_PATH = '/account/profile/'
To import settings do this:
from turboengine.conf import settings
If you want to implement an Website use this:
from turboengine.http import RequestHandler
from turboengine.decorators import login_required
class MyHandler(RequestHandler):
def get(self):
# you can add headers or common usages of the request
user = self.user # return authenticated user or None if is not logged in
.... code
self.render_template(template, paramaters)
@login_required
def post(self):
.... code
And use one file like (app.py)::
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from turboengine import urls
from turboengine.conf import settings
application = webapp.WSGIApplication(urls.generate_urls(settings.INSTALLED_APPS), debug=settings.DEBUG)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
If you want to implement webservices first install ZSI and zope.interface then::
from turboengine.webservices.application import SOAPAplication
from turboengine.webservices.application import WSGIAplication
from EchoServer_server import * # this class is generated by 'python wsdl2py SimpleEcho.wsdl' see http://carlitos-kyo.blogspot.com/2009/12/web-services-python-google-app-engine.html
# Implementing services
class wsEchoServer(EchoServer):
# Make WSDL available for HTTP GET
wsdl = "".join(open('SimpleEcho.wsdl').readlines())
disco = "".join(open('SimpleEcho.disco').readlines())
def soap_Echo(self, ps, **kw):
request, response = EchoServer.soap_Echo(self, ps, **kw)
return request, request
def main():
application = WSGIApplication()
application['EchoServer.asmx'] = SOAPAplication(wsEchoServer())
#application['OtherServer.asmx'] = SOAPAplication(wsOtherServer()) # could have many webservices
run_wsgi_app(application)
if __name__ == '__main__':
main()
Please to see how to use webservices on GAE visit this:
http://carlitos-kyo.blogspot.com/2009/12/web-services-python-google-app-engine.html
TODO
----
Implement restful and templatetags
Turboengine
===========
Google app engine utilities using some django's ideas.
Install
-------
:
git clone git://github.com/carlitux/turboengine.git
cd turboengine
python setup.py Install
Usage
-----
Create an setting.py file and can add variables settings as you want, but
this is some commons variables::
TEMPLATE_PATH = 'templates'
# setting DEBUG
DEBUG = True
SITE_TITLE = 'turboengine for GAE'
# mapping (parent url, appname)
INSTALLED_APPS = [(parent_url, appnane)] # app names shouldn't be standard python libraries and they should be importables into PYTHONPATH
TEMPLATE_TAGS_PATHS = [] # not used but it will be used in feature for loading templatetags
ERROR_PAGE_PATH = '/error/' # path where will be redirected the error
LOGIN_PATH_REDIRECT = '/' # path where redirect after login or logout
PROFILE_PATH = '/account/profile/'
To import settings do this:
from turboengine.conf import settings
If you want to implement an Website use this:
from turboengine.http import RequestHandler
from turboengine.decorators import login_required
class MyHandler(RequestHandler):
def get(self):
# you can add headers or common usages of the request
user = self.user # return authenticated user or None if is not logged in
.... code
self.render_template(template, paramaters)
@login_required
def post(self):
.... code
And use one file like (app.py)::
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from turboengine import urls
from turboengine.conf import settings
application = webapp.WSGIApplication(urls.generate_urls(settings.INSTALLED_APPS), debug=settings.DEBUG)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
If you want to implement webservices first install ZSI and zope.interface then::
from turboengine.webservices.application import SOAPAplication
from turboengine.webservices.application import WSGIAplication
from EchoServer_server import * # this class is generated by 'python wsdl2py SimpleEcho.wsdl' see http://carlitos-kyo.blogspot.com/2009/12/web-services-python-google-app-engine.html
# Implementing services
class wsEchoServer(EchoServer):
# Make WSDL available for HTTP GET
wsdl = "".join(open('SimpleEcho.wsdl').readlines())
disco = "".join(open('SimpleEcho.disco').readlines())
def soap_Echo(self, ps, **kw):
request, response = EchoServer.soap_Echo(self, ps, **kw)
return request, request
def main():
application = WSGIApplication()
application['EchoServer.asmx'] = SOAPAplication(wsEchoServer())
#application['OtherServer.asmx'] = SOAPAplication(wsOtherServer()) # could have many webservices
run_wsgi_app(application)
if __name__ == '__main__':
main()
Please to see how to use webservices on GAE visit this:
http://carlitos-kyo.blogspot.com/2009/12/web-services-python-google-app-engine.html
TODO
----
Implement restful and templatetags
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
turboengine-1.0.2.tar.gz
(6.6 kB
view hashes)