7c01171c47c8e998f5b73c10c3c8d302497bb92f
[kisspi.git] / modules / hello / hello.py
1 '''
2 Example kisspi module controller
3
4 Every controller is a class with GET/POST methods. That functions
5 returns html that it's embebed inside the cms layaout.
6
7 Inside that methods you can use self.kisspi module to:
8     - use sessions:
9         self.kisspi.get_session()
10     - get input:
11         self.kisspi.get_input()
12         if you try to upload a file, use webpy syntax
13         self.kisspi.get_input(myfile={})
14     - redirect:
15         self.kisspi.redirect(new_url)
16     - other modules:
17         self.kisspi.MODULES
18 '''
19
20 class Hello:
21     kisspi = None
22     def GET(self, *args):
23         return "hello everyone " + str(args)
24
25 class Number:
26     kisspi = None
27     def GET(self, number):
28         return "Hola al grupo %s" % number
29
30 class Upload:
31     kisspi = None
32     def GET(self, *args):
33         form = '''
34             <form action="" method="POST">
35                 <input type="text" name="text"/>
36                 <input type="submit" name="upload"/>
37             </form>
38         '''
39         session = self.kisspi.get_session()
40         yield '<html><head></head><body>'
41         yield 'uploaded: %s' % session.get('uploaded', '')
42         yield form
43         yield '</body></html>'
44
45     def POST(self, *args):
46         session = self.kisspi.get_session()
47         input = self.kisspi.get_input()
48         session.uploaded = input.text
49         
50         self.kisspi.redirect('/hello/up')