From 3da4c2e13e4146e1d0a58fd0e7267bb4ad957881 Mon Sep 17 00:00:00 2001 From: Stefan hr Berder Date: Sun, 7 Jul 2013 12:44:21 +0200 Subject: [PATCH 1/3] add port option to pelican.server --- pelican/server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pelican/server.py b/pelican/server.py index fd99b209..24f3ae04 100644 --- a/pelican/server.py +++ b/pelican/server.py @@ -10,7 +10,7 @@ try: except ImportError: import socketserver # NOQA -PORT = 8000 +PORT = len(sys.argv) == 2 and int(sys.argv[1]) or 8000 Handler = srvmod.SimpleHTTPRequestHandler @@ -26,4 +26,4 @@ try: httpd.serve_forever() except KeyboardInterrupt as e: print("shutting down server") - httpd.socket.close() \ No newline at end of file + httpd.socket.close() From 3a5db543bb8fa385ac10347d81d98778959619bc Mon Sep 17 00:00:00 2001 From: Stefan hr Berder Date: Sun, 7 Jul 2013 13:27:50 +0200 Subject: [PATCH 2/3] add port parameter to bash script --- pelican/tools/templates/develop_server.sh.in | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pelican/tools/templates/develop_server.sh.in b/pelican/tools/templates/develop_server.sh.in index 6dd11e6d..16b61518 100755 --- a/pelican/tools/templates/develop_server.sh.in +++ b/pelican/tools/templates/develop_server.sh.in @@ -18,7 +18,7 @@ SRV_PID=$$BASEDIR/srv.pid PELICAN_PID=$$BASEDIR/pelican.pid function usage(){ - echo "usage: $$0 (stop) (start) (restart)" + echo "usage: $$0 (stop) (start) (restart) [port]" echo "This starts pelican in debug and reload mode and then launches" echo "A pelican.server to help site development. It doesn't read" echo "your pelican options so you edit any paths in your Makefile" @@ -59,13 +59,14 @@ function shut_down(){ } function start_up(){ + local port=$$1 echo "Starting up Pelican and pelican.server" shift $$PELICAN --debug --autoreload -r $$INPUTDIR -o $$OUTPUTDIR -s $$CONFFILE $$PELICANOPTS & pelican_pid=$$! echo $$pelican_pid > $$PELICAN_PID cd $$OUTPUTDIR - $PY -m pelican.server & + $PY -m pelican.server $$port & srv_pid=$$! echo $$srv_pid > $$SRV_PID cd $$BASEDIR @@ -83,15 +84,18 @@ function start_up(){ ### # MAIN ### -[[ $$# -ne 1 ]] && usage +[[ ($$# -eq 0) || ($$# -gt 2) ]] && usage +port='' +[[ $$# -eq 2 ]] && port=$$2 + if [[ $$1 == "stop" ]]; then shut_down elif [[ $$1 == "restart" ]]; then shut_down - start_up + start_up $$port elif [[ $$1 == "start" ]]; then - if ! start_up; then - shut_down + if ! start_up $$port; then + shut_down fi else usage From 689632835eb2119c2f822456dee6c11def11ced5 Mon Sep 17 00:00:00 2001 From: Stefan hr Berder Date: Sun, 7 Jul 2013 14:28:15 +0200 Subject: [PATCH 3/3] add port option to Makefile target serve/devserver --- pelican/tools/templates/Makefile.in | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pelican/tools/templates/Makefile.in b/pelican/tools/templates/Makefile.in index 4bc764ca..f2e0ccc9 100644 --- a/pelican/tools/templates/Makefile.in +++ b/pelican/tools/templates/Makefile.in @@ -28,8 +28,8 @@ help: @echo ' make clean remove the generated files ' @echo ' make regenerate regenerate files upon modification ' @echo ' make publish generate using production settings ' - @echo ' make serve serve site at http://localhost:8000' - @echo ' make devserver start/restart develop_server.sh ' + @echo ' make serve [PORT=8000] serve site at http://localhost:8000' + @echo ' make devserver [PORT=8000] start/restart develop_server.sh ' @echo ' make stopserver stop local server ' @echo ' ssh_upload upload the web site via SSH ' @echo ' rsync_upload upload the web site via rsync+ssh ' @@ -50,10 +50,18 @@ regenerate: $$(PELICAN) -r $$(INPUTDIR) -o $$(OUTPUTDIR) -s $$(CONFFILE) $$(PELICANOPTS) serve: +ifdef PORT + cd $$(OUTPUTDIR) && $(PY) -m pelican.server $$(PORT) +else cd $$(OUTPUTDIR) && $(PY) -m pelican.server +endif devserver: +ifdef PORT + $$(BASEDIR)/develop_server.sh restart $$(PORT) +else $$(BASEDIR)/develop_server.sh restart +endif stopserver: kill -9 `cat pelican.pid`