Skip to content

Commit 14a62b3

Browse files
committed
Add push-to-deploy support
1 parent e239867 commit 14a62b3

File tree

5 files changed

+77
-1
lines changed

5 files changed

+77
-1
lines changed

CHECKS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/ CakePHP

Procfile

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
web: python server.py --port $PORT --dir blog/html

bin/post_compile

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
set -eo pipefail
3+
[[ -n $BIN_DIR ]] && source $BIN_DIR/utils
4+
5+
main() {
6+
tinker --build
7+
}
8+
9+
main "$@"

requirements.txt

+15-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,15 @@
1-
tinkerer>=1.4
1+
alabaster==0.7.8
2+
Babel==2.3.4
3+
cssselect==0.9.1
4+
docutils==0.12
5+
imagesize==0.7.1
6+
Jinja2==2.8
7+
lxml==3.6.0
8+
MarkupSafe==0.23
9+
Pygments==2.1.3
10+
pyquery==1.2.13
11+
pytz==2016.4
12+
six==1.10.0
13+
snowballstemmer==1.2.1
14+
Sphinx==1.4.1
15+
Tinkerer==1.5

server.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#! /usr/bin/env python
2+
3+
import posixpath
4+
import argparse
5+
import urllib
6+
import os
7+
8+
from SimpleHTTPServer import SimpleHTTPRequestHandler
9+
from BaseHTTPServer import HTTPServer
10+
11+
12+
class RootedHTTPServer(HTTPServer):
13+
14+
def __init__(self, base_path, *args, **kwargs):
15+
HTTPServer.__init__(self, *args, **kwargs)
16+
self.RequestHandlerClass.base_path = base_path
17+
18+
19+
class RootedHTTPRequestHandler(SimpleHTTPRequestHandler):
20+
21+
def translate_path(self, path):
22+
path = posixpath.normpath(urllib.unquote(path))
23+
words = path.split('/')
24+
words = filter(None, words)
25+
path = self.base_path
26+
for word in words:
27+
drive, word = os.path.splitdrive(word)
28+
head, word = os.path.split(word)
29+
if word in (os.curdir, os.pardir):
30+
continue
31+
path = os.path.join(path, word)
32+
return path
33+
34+
35+
def main(HandlerClass=RootedHTTPRequestHandler, ServerClass=RootedHTTPServer):
36+
37+
parser = argparse.ArgumentParser()
38+
parser.add_argument('--port', '-p', default=os.getenv('PORT', 5000), type=int)
39+
parser.add_argument('--dir', '-d', default=os.getcwd(), type=str)
40+
args = parser.parse_args()
41+
42+
server_address = ('', args.port)
43+
44+
httpd = ServerClass(args.dir, server_address, HandlerClass)
45+
46+
sa = httpd.socket.getsockname()
47+
print "Serving HTTP on", sa[0], "port", sa[1], "..."
48+
httpd.serve_forever()
49+
50+
if __name__ == '__main__':
51+
main()

0 commit comments

Comments
 (0)