Skip to content

Commit

Permalink
makefile & python server added
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Goedde committed Aug 2, 2014
1 parent 2212164 commit 0f79641
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 6 deletions.
13 changes: 13 additions & 0 deletions doc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
build:
scons

test: build
python serve.py --root ./_build --silence

clean:
rm -rf _build
rm -rf _build_uploaded
rm -rf _static/img/gen

publish: clean build
scons publish
12 changes: 6 additions & 6 deletions doc/SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,10 @@ Clean(uploaded, UPLOADED)
Alias("publish", uploaded)


## Run a test Web server
##
test = env.Command(None, [imgs, docs], 'twistd.py web -n -p 8080 --path="./_build/"')
#test = env.Command(None, [imgs, docs], 'python -m SimpleHTTPServer 8080') # cannot set path here =(
# ## Run a test Web server
# ##
# test = env.Command(None, [imgs, docs], 'twistd.py web -n -p 8080 --path="./_build/"')
# #test = env.Command(None, [imgs, docs], 'python -m SimpleHTTPServer 8080') # cannot set path here =(

env.AlwaysBuild(test)
Alias("test", test)
# env.AlwaysBuild(test)
# Alias("test", test)
56 changes: 56 additions & 0 deletions doc/serve.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
###############################################################################
##
## Copyright (C) 2014 Tavendo GmbH
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
###############################################################################

if __name__ == "__main__":

import sys
import argparse
import mimetypes

from twisted.python import log
from twisted.internet import reactor
from twisted.web.server import Site
from twisted.web.static import File
from twisted.internet.endpoints import serverFromString

mimetypes.add_type('image/svg+xml', '.svg')
mimetypes.add_type('text/javascript', '.jgz')

parser = argparse.ArgumentParser()

parser.add_argument("--root", type = str, default = ".",
help = 'Web document root directory')

parser.add_argument("--endpoint", type = str, default = "tcp:8080",
help = 'Twisted server endpoint descriptor, e.g. "tcp:8080" or "unix:/tmp/mywebsocket".')

parser.add_argument("-s", "--silence", action = "store_true",
help = "Disable access logging.")

args = parser.parse_args()
log.startLogging(sys.stdout)

factory = Site(File(args.root))
if args.silence:
factory.log = lambda _: None
factory.noisy = False

server = serverFromString(reactor, args.endpoint)
server.listen(factory)

reactor.run()

0 comments on commit 0f79641

Please sign in to comment.