Skip to main content

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

Changes
=======

Project details


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.1.tar.gz (6.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page