mother-webapps-framework

Mother - Web Applications Framework
Download

mother-webapps-framework Ranking & Summary

Advertisement

  • Rating:
  • License:
  • AGPL v3
  • Publisher Name:
  • Guillaume Bour
  • Publisher web site:
  • http://guillaume.bour.free.fr/mediarchiver/index.php

mother-webapps-framework Tags


mother-webapps-framework Description

Mother - Web Applications Framework Mother is a framework written in Python and based on Twisted. It is designed to make developpement of web applications easy and fast.It provides following functionalities among others:- simple url mapping to code,- handle multi content-types (html, JSON, ...),- integration with Tentacles ORM,- allow use of templating tools (currently, only Mako is supported)Example:UUID = '7c772000-8f12-4594-9730-9e4de53d55d1'from mother import routingfrom mother.callable import callback, Callablefrom mother.template import Static, Template@callback(url=routing.ROOT)def root(**kwargs): return """ < html > < head > < title >Welcome to Mother Sample Application< /title > < /head > < body > This is the homepage of < b >Mother Sample Application< /b >.< br/ > < br > < em >You are welcome to watch my source code to see how to build your first < strong >Mother< /strong > application< /em >. < /body > < /html > """@callback(url='/foo', content_type='text/plain')def foo(**kwargs): return 'foo:: plain text'@callback(url='/foo', content_type='application/json')def foo(**kwargs): return @callback(url='/foo', content_type='text/html')def foo(**kwargs): return '< html >< body >< b >foo< /b >:: html content< /body >< /html >'@callbackdef bar(age, **args): try: age = int(age) except: return routing.HTTP_404('age MUST be integer') return 'the captain is %d years old' % ageclass Captain(Callable): def __init__(self, **kwargs): super(Captain, self).__init__(**kwargs) self._age = 54 # special methods GET, POST, PUT, DELETE are directly mapped to '/sample/captain' url def GET(self, **kwargs): return 'Captain::GET' # You can also expose non-special class/instance methods with the callback modified # Here we learn a new @callback option, named 'method' # @callback def age(self, **kwargs): return self._age # Here we discover a new @callback argument, named 'method' # taking either a string among 'GET', 'POST','PUT','DELETE' or a list of these # # This argument set HTTP method(s) callback is accessible through (default is GET) @callback(url='/setage', method='POST') def age_post(self, age, **kwargs): try: self._age = int(age) except: return routing.HTTP_404('age MUST be integer') return routing.HTTP_200('')@callbackdef hello(**kwargs): return 'hello'URLS = { # expose function '/hel-lo' : hello, # expose static content (directory) '/static' : Static('static-content/'), # expose template file # NOTES # . template files MUST be stored in a templates/ sub-directory # . Mako is the only available template engine at present '/template' : Template('sample.html', title='template sample title', content="""You\'re viewing a template sample page, rendered with < em >Mako< /em >""")}Project's website: http://devedge.bour.cc/wiki/Mother Requirements: · Python


mother-webapps-framework Related Software