summaryrefslogtreecommitdiff
path: root/scripts/proxy/main.py
authorGiulio Cesare Solaroli <giulio.cesare@clipperz.com>2013-10-02 07:59:30 (UTC)
committer Giulio Cesare Solaroli <giulio.cesare@clipperz.com>2013-10-02 07:59:30 (UTC)
commit1180b7b195157aaeb4f0d5380e0c886bbd06c2e2 (patch) (unidiff)
tree709e33a09d9325d382aabaf0a0828e20ebdb96db /scripts/proxy/main.py
parent20bea94ab6b91c85b171dcf86baba0a64169d508 (diff)
downloadclipperz-1180b7b195157aaeb4f0d5380e0c886bbd06c2e2.zip
clipperz-1180b7b195157aaeb4f0d5380e0c886bbd06c2e2.tar.gz
clipperz-1180b7b195157aaeb4f0d5380e0c886bbd06c2e2.tar.bz2
Updated /delta
Switched from less to scss. Still no build script to update the final CSS, though. Added preliminary support for storing account data on browser's local storage for offline viewing. No public backend currently support this feature.
Diffstat (limited to 'scripts/proxy/main.py') (more/less context) (ignore whitespace changes)
-rwxr-xr-xscripts/proxy/main.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/proxy/main.py b/scripts/proxy/main.py
index 8ce4989..58a4d7f 100755
--- a/scripts/proxy/main.py
+++ b/scripts/proxy/main.py
@@ -27,76 +27,81 @@ class ClipperzTestSite(server.Site):
27 27
28 28
29 def getResourceFor(self, request): 29 def getResourceFor(self, request):
30 uri = request.uri 30 uri = request.uri
31 uri = uri.split("?", 1)[0] 31 uri = uri.split("?", 1)[0]
32 uri = uri.split("#", 1)[0] 32 uri = uri.split("#", 1)[0]
33 if uri.startswith('/json') or uri.startswith('/dump'): 33 if uri.startswith('/json') or uri.startswith('/dump'):
34 request.site = self 34 request.site = self
35 request.sitepath = copy.copy(request.prepath) 35 request.sitepath = copy.copy(request.prepath)
36 result = resource.getChildForRequest(self.resource, request) 36 result = resource.getChildForRequest(self.resource, request)
37 37
38 else: 38 else:
39 pathParts = uri.split('/') 39 pathParts = uri.split('/')
40 version = pathParts[1] 40 version = pathParts[1]
41 41
42 if pathParts[2].startswith('index.'): 42 if pathParts[2].startswith('index.'):
43 contentType = 'text/html' 43 contentType = 'text/html'
44 absoluteFilePath = os.path.join(projectTargetDir(), 'dev', version, pathParts[2]) 44 absoluteFilePath = os.path.join(projectTargetDir(), 'dev', version, pathParts[2])
45 result = static.File(absoluteFilePath, contentType) 45 result = static.File(absoluteFilePath, contentType)
46 elif pathParts[2].endswith('.webapp'): 46 elif pathParts[2].endswith('.webapp'):
47 contentType = 'application/x-web-app-manifest+json' 47 contentType = 'application/x-web-app-manifest+json'
48 # absoluteFilePath = os.path.join(projectTargetDir(), 'dev', version, pathParts[2]) 48 # absoluteFilePath = os.path.join(projectTargetDir(), 'dev', version, pathParts[2])
49 absoluteFilePath = os.path.join(projectBaseDir(), 'frontend', version, 'properties', pathParts[2]) 49 absoluteFilePath = os.path.join(projectBaseDir(), 'frontend', version, 'properties', pathParts[2])
50 result = static.File(absoluteFilePath, contentType) 50 result = static.File(absoluteFilePath, contentType)
51 elif pathParts[2].endswith('.appcache'):
52 contentType = 'text/cache-manifest'
53 absoluteFilePath = os.path.join(projectBaseDir(), 'frontend', version, 'properties', pathParts[2])
54 result = static.File(absoluteFilePath, contentType)
51 else: 55 else:
52 #http://homer.local:8888/beta/css/clipperz/images/loginInfoBackground.png 56 #http://homer.local:8888/beta/css/clipperz/images/loginInfoBackground.png
53 #pathParts: ['', 'beta', 'css', 'clipperz', 'images', 'loginInfoBackground.png'] 57 #pathParts: ['', 'beta', 'css', 'clipperz', 'images', 'loginInfoBackground.png']
54 try: 58 try:
55 imagePathIndex = pathParts.index('images') 59 imagePathIndex = pathParts.index('images')
56 resourceType = 'images' 60 resourceType = 'images'
57 for _ in range(2, imagePathIndex): 61 for _ in range(2, imagePathIndex):
58 del pathParts[2] 62 del pathParts[2]
59 except: 63 except:
60 resourceType = pathParts[2] 64 resourceType = pathParts[2]
61 65
62 basePath = projectBaseDir() + '/frontend' 66 basePath = projectBaseDir() + '/frontend'
63 if resourceType == 'images': 67 if resourceType == 'images':
64 fileExtension = os.path.splitext(uri)[1] 68 fileExtension = os.path.splitext(uri)[1]
65 if fileExtension == '.png': 69 if fileExtension == '.png':
66 contentType = 'image/png' 70 contentType = 'image/png'
67 elif fileExtension == '.jpg': 71 elif fileExtension == '.jpg':
68 contentType = 'image/jpeg' 72 contentType = 'image/jpeg'
69 elif fileExtension == '.gif': 73 elif fileExtension == '.gif':
70 contentType = 'image/gif' 74 contentType = 'image/gif'
71 else: 75 else:
72 print "ERROR - unknown image extension: " + fileExtension 76 print "ERROR - unknown image extension: " + fileExtension
73 77
74 absoluteFilePath = basePath + '/'.join(pathParts) 78 absoluteFilePath = basePath + '/'.join(pathParts)
75 else: 79 else:
76 resourceType = pathParts[2] 80 resourceType = pathParts[2]
77 81
78 if resourceType == 'css': 82 if resourceType == 'css':
79 contentType = 'text/css' 83 contentType = 'text/css'
80 elif resourceType == 'js': 84 elif resourceType == 'js':
81 contentType = 'text/javascript' 85 contentType = 'text/javascript'
82 else: 86 else:
83 contentType = 'text/html' 87 contentType = 'text/html'
84 88
85 absoluteFilePath = basePath + uri 89 absoluteFilePath = basePath + uri
86 90
87 result = static.File(absoluteFilePath, contentType) 91 result = static.File(absoluteFilePath, contentType)
88 92
89 93
90 return result 94 return result
91 95
92 96
93 97
94def main (): 98def main ():
95 site = ClipperzTestSite(proxy.ReverseProxyResource('localhost', 8080, '/java-backend')) 99 site = ClipperzTestSite(proxy.ReverseProxyResource('localhost', 8080, '/java-backend'))
100 #site = ClipperzTestSite(proxy.ReverseProxyResource('www.clipperz.com', 443, '/'))
96 reactor.listenTCP(8888, site) 101 reactor.listenTCP(8888, site)
97 reactor.run() 102 reactor.run()
98 103
99 104
100if __name__ == "__main__": 105if __name__ == "__main__":
101 main() 106 main()
102 107