-
Notifications
You must be signed in to change notification settings - Fork 0
/
devserver.cmd
53 lines (43 loc) · 1.09 KB
/
devserver.cmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
@echo off
SETLOCAL EnableDelayedExpansion
set _PELICAN=C:/Users/Eric/virtualenv/PELICAN/Scripts/pelican.exe
set _PELICANOPTS=
set _BASEDIR=%cd%
set _INPUTDIR=%_BASEDIR%/content
set _OUTPUTDIR=%_BASEDIR%/output
set _CONFFILE=%_BASEDIR%/publishconf.py
set _cmmd=tasklist /FI "IMAGENAME eq python.exe" /FO CSV /NH
IF EXIST %_BASEDIR%\devserver.pid (
echo DevServer already running...killing...
GOTO :killpydevserver
)
call :startpydevserver
GOTO:EOF
:startpelican
cd %_BASEDIR%
echo Starting Pelican ...
start %_PELICAN% --debug --autoreload -r %_INPUTDIR% -o %_OUTPUTDIR% -s %_CONFFILE% %_PELICANOPTS%
GOTO:EOF
:killpelican
taskkill /F /T /IM pelican.exe
GOTO:EOF
:startpydevserver
cd %_OUTPUTDIR%
start python -m SimpleHTTPServer
set o=
FOR /F "tokens=2* delims=," %%G IN ('%_cmmd%') DO (
set /a o+=1
set _srvpid=%%G
)
echo %_srvpid:~1,-1% > %_BASEDIR%\devserver.pid
call :startpelican
GOTO:EOF
:killpydevserver
FOR /F %%a in ('type "%_BASEDIR%\devserver.pid"') DO (
echo Killing DevServer running at PID = %%a
taskkill /PID %%a
)
del %_BASEDIR%\devserver.pid
call :killpelican
GOTO:EOF
ENDLOCAL