~loggerhead-team/loggerhead/trunk-rich

167 by Michael Hudson
make serve-branches.py executable
1
#!/usr/bin/env python
183.2.1 by John Arbash Meinel
Add Copyright information to most files.
2
# This program is free software; you can redistribute it and/or modify
3
# it under the terms of the GNU General Public License as published by
4
# the Free Software Foundation; either version 2 of the License, or
5
# (at your option) any later version.
6
#
7
# This program is distributed in the hope that it will be useful,
8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
9
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
# GNU General Public License for more details.
11
#
12
# You should have received a copy of the GNU General Public License
13
# along with this program; if not, write to the Free Software
14
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15
16
"""Search for branches underneath a directory and serve them all."""
17
174 by Michael Hudson
misc logging improvements:
18
import logging
165.1.4 by Michael Hudson
change serve-branches.py to be easier to document :)
19
import sys
20
21
from paste import httpserver
22
from paste.httpexceptions import HTTPExceptionHandler
23
from paste.translogger import TransLogger
24
159.2.25 by Michael Hudson
put things closer to where they belong
25
from loggerhead.apps.filesystem import BranchesFromFileSystemRoot
165.1.4 by Michael Hudson
change serve-branches.py to be easier to document :)
26
174 by Michael Hudson
misc logging improvements:
27
28
logging.basicConfig()
29
logging.getLogger().setLevel(logging.DEBUG)
30
165.1.4 by Michael Hudson
change serve-branches.py to be easier to document :)
31
if len(sys.argv) > 1:
32
    path = sys.argv[1]
33
else:
34
    path = '.'
35
36
app = BranchesFromFileSystemRoot(path)
37
38
app = HTTPExceptionHandler(app)
39
app = TransLogger(app)
40
41
try:
42
    from paste.deploy.config import PrefixMiddleware
43
except ImportError:
44
    pass
45
else:
46
    app = PrefixMiddleware(app)
159.2.25 by Michael Hudson
put things closer to where they belong
47
159.2.34 by Michael Hudson
doh
48
#from paste.evalexception import EvalException
49
#app = EvalException(app)
159.2.25 by Michael Hudson
put things closer to where they belong
50
165.1.4 by Michael Hudson
change serve-branches.py to be easier to document :)
51
httpserver.serve(app, host='0.0.0.0', port='8080')