summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2015-05-15 17:43:01 -0700
committerMicah Lee <micah@micahflee.com>2015-05-15 17:43:01 -0700
commitad553146c78b7826d6916e1858fb4b869e5bc872 (patch)
tree77c4fc40e5095ec91f1e2ac50772cdb9b8c864dc
parenta86cda45491bf20c1b78f63d466cad031d95bf6a (diff)
downloadonionshare-ad553146c78b7826d6916e1858fb4b869e5bc872.tar.gz
onionshare-ad553146c78b7826d6916e1858fb4b869e5bc872.zip
adding html files to Resources, loading them from the correct path, and make sure to include jinja2 extension in py2app (#151)
-rw-r--r--onionshare/helpers.py9
-rw-r--r--onionshare/web.py4
-rw-r--r--setup.py5
3 files changed, 14 insertions, 4 deletions
diff --git a/onionshare/helpers.py b/onionshare/helpers.py
index baa45df6..6465dcfc 100644
--- a/onionshare/helpers.py
+++ b/onionshare/helpers.py
@@ -47,6 +47,15 @@ def get_osx_resources_dir():
return os.path.dirname(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))
+def get_html_path(filename):
+ p = platform.system()
+ if p == 'Darwin':
+ prefix = os.path.join(get_osx_resources_dir(), 'html')
+ else:
+ prefix = get_onionshare_dir()
+ return os.path.join(prefix, filename)
+
+
def constant_time_compare(val1, val2):
_builtin_constant_time_compare = getattr(hmac, 'compare_digest', None)
if _builtin_constant_time_compare is not None:
diff --git a/onionshare/web.py b/onionshare/web.py
index 2b15b376..a72f1f7c 100644
--- a/onionshare/web.py
+++ b/onionshare/web.py
@@ -114,7 +114,7 @@ def index(slug_candidate):
add_request(REQUEST_LOAD, request.path)
return render_template_string(
- open('{0:s}/index.html'.format(helpers.get_onionshare_dir())).read(),
+ open(helpers.get_html_path('index.html')).read(),
slug=slug,
file_info=file_info,
filename=os.path.basename(zip_filename).decode("utf-8"),
@@ -198,7 +198,7 @@ def download(slug_candidate):
@app.errorhandler(404)
def page_not_found(e):
add_request(REQUEST_OTHER, request.path)
- return render_template_string(open('{0:s}/404.html'.format(helpers.get_onionshare_dir())).read())
+ return render_template_string(open(helpers.get_html_path('404.html')).read())
# shutting down the server only works within the context of flask, so the easiest way to do it is over http
shutdown_slug = helpers.random_string(16)
diff --git a/setup.py b/setup.py
index 69ee2e7b..5aebb980 100644
--- a/setup.py
+++ b/setup.py
@@ -101,13 +101,14 @@ elif system == 'Darwin':
app=['install/onionshare-launcher.py'],
data_files=[
('images', images),
- ('locale', locale)
+ ('locale', locale),
+ ('html', ['onionshare/index.html', 'onionshare/404.html'])
],
options={
'py2app': {
'argv_emulation': True,
'iconfile':'install/onionshare.icns',
- 'includes': ['pip', 'PyQt4', 'PyQt4.QtCore', 'PyQt4.QtGui'],
+ 'includes': ['pip', 'PyQt4', 'PyQt4.QtCore', 'PyQt4.QtGui', 'jinja2', 'jinja2.ext', 'jinja2.ext.autoescape'],
'excludes': ['PyQt4.QtDesigner', 'PyQt4.QtNetwork', 'PyQt4.QtOpenGL', 'PyQt4.QtScript', 'PyQt4.QtSql', 'PyQt4.QtTest', 'PyQt4.QtWebKit', 'PyQt4.QtXml', 'PyQt4.phonon']
}
},