web_server: Display trivial placeholder page if SWAT could not be found.
[samba.git] / source4 / scripting / python / samba / web_server / __init__.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 # Unix SMB/CIFS implementation.
5 # Copyright © Jelmer Vernooij <jelmer@samba.org> 2008
6 #
7 # Implementation of SWAT that uses WSGI
8 #
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 3 of the License, or
12 # (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 #
22
23
24
25 def render_placeholder(environ, start_response):
26     status = '200 OK'
27     response_headers = [('Content-type','text/html')]
28     start_response(status, response_headers)
29
30     yield "<!doctype html>\n"
31     yield "<html>\n"
32     yield "  <title>The Samba web service</title>\n"
33     yield "</html>\n"
34
35     yield "<body>\n"
36     yield "<p>Welcome to this Samba web server.</p>\n"
37     yield "<p>This page is a simple placeholder. You probably want to install "
38     yield "SWAT. More information can be found "
39     yield "<a href='http://wiki.samba.org/index.php/SWAT'>on the wiki</a>.</p>"
40     yield "</p>\n"
41     yield "</body>\n"
42     yield "</html>\n"
43
44
45 __call__ = render_placeholder
46
47
48 if __name__ == '__main__':
49     from wsgiref import simple_server
50     httpd = simple_server.make_server('localhost', 8090, __call__)
51     print "Serving HTTP on port 8090..."
52     httpd.serve_forever()