summaryrefslogtreecommitdiff
path: root/service/pixelated/resources
diff options
context:
space:
mode:
authorRoald de Vries <rdevries@thoughtworks.com>2016-12-05 10:32:12 +0100
committerRoald de Vries <rdevries@thoughtworks.com>2016-12-05 10:32:12 +0100
commit391cc55537a97ec8b2b55662db9c63f86ab885ef (patch)
tree3dcf6adc12efa9a84e02f9340fae925b057fcb89 /service/pixelated/resources
parenta0de084e04f02a5f09d5a14b86ece156f4f6df5f (diff)
get templates from pkg_resources
Diffstat (limited to 'service/pixelated/resources')
-rw-r--r--service/pixelated/resources/inbox_resource.py8
-rw-r--r--service/pixelated/resources/login_resource.py7
-rw-r--r--service/pixelated/resources/root_resource.py6
3 files changed, 9 insertions, 12 deletions
diff --git a/service/pixelated/resources/inbox_resource.py b/service/pixelated/resources/inbox_resource.py
index d9ba86a5..13d1f298 100644
--- a/service/pixelated/resources/inbox_resource.py
+++ b/service/pixelated/resources/inbox_resource.py
@@ -15,6 +15,7 @@
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
import hashlib
import os
+import pkg_resources
from string import Template
import pixelated
@@ -35,9 +36,8 @@ class InboxResource(BaseResource):
def __init__(self, services_factory):
BaseResource.__init__(self, services_factory)
self._not_quite_the_templates_folder = self._get_not_quite_the_templates_folder()
- self._templates_folder = self._get_templates_folder()
self._html_template = open(os.path.join(self._not_quite_the_templates_folder, 'index.html')).read()
- with open(os.path.join(self._templates_folder, 'Interstitial.html')) as f:
+ with open(pkg_resources.resource_filename('templates', 'Interstitial.html')) as f:
self.interstitial = f.read()
self._mode = MODE_STARTUP
@@ -48,10 +48,6 @@ class InboxResource(BaseResource):
path = os.path.dirname(os.path.abspath(pixelated.__file__))
return os.path.join(path, '..', '..', 'web-ui', 'public')
- def _get_templates_folder(self):
- path = os.path.dirname(os.path.abspath(pixelated.__file__))
- return os.path.join(path, 'assets')
-
def _is_starting(self):
return self._mode == MODE_STARTUP
diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py
index 6300efdb..2ca85af9 100644
--- a/service/pixelated/resources/login_resource.py
+++ b/service/pixelated/resources/login_resource.py
@@ -15,6 +15,7 @@
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
import os
+import pkg_resources
from xml.sax import SAXParseException
from pixelated.authentication import Authenticator
@@ -71,7 +72,7 @@ def parse_accept_language(all_headers):
class DisclaimerElement(Element):
- loader = XMLFile(FilePath(os.path.join(_get_startup_folder(), '_login_disclaimer_banner.html')))
+ loader = XMLFile(FilePath(pkg_resources.resource_filename('templates', '_login_disclaimer_banner.html')))
def __init__(self, banner):
super(DisclaimerElement, self).__init__()
@@ -94,7 +95,7 @@ class DisclaimerElement(Element):
class LoginWebSite(Element):
- loader = XMLFile(FilePath(os.path.join(_get_startup_folder(), 'login.html')))
+ loader = XMLFile(FilePath(pkg_resources.resource_filename('templates', 'login.html')))
def __init__(self, error_msg=None, disclaimer_banner_file=None):
super(LoginWebSite, self).__init__()
@@ -132,7 +133,7 @@ class LoginResource(BaseResource):
self.putChild('startup-assets', File(self._startup_folder))
self.putChild('public-assets', File(self._public_folder))
- with open(os.path.join(self._startup_folder, 'Interstitial.html')) as f:
+ with open(pkg_resources.resource_filename('templates', 'Interstitial.html')) as f:
self.interstitial = f.read()
def getChild(self, path, request):
diff --git a/service/pixelated/resources/root_resource.py b/service/pixelated/resources/root_resource.py
index 375f27f6..e6a25e00 100644
--- a/service/pixelated/resources/root_resource.py
+++ b/service/pixelated/resources/root_resource.py
@@ -15,6 +15,7 @@
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
import json
import os
+import pkg_resources
from pixelated.resources.users import UsersResource
import pixelated
@@ -50,9 +51,8 @@ class RootResource(BaseResource):
self._assets_folder = self._get_assets_folder()
self._startup_assets_folder = self._get_startup_folder()
self._static_folder = static_folder
- self._html_template = open(os.path.join(templates_folder, 'index.html')).read()
self._services_factory = services_factory
- with open(os.path.join(self._startup_assets_folder, 'Interstitial.html')) as f:
+ with open(pkg_resources.resource_filename('templates', 'Interstitial.html')) as f:
self.interstitial = f.read()
self._redirect_to_login_resource = Redirect('login')
self._inbox_resource = InboxResource(services_factory)
@@ -60,7 +60,7 @@ class RootResource(BaseResource):
def _startup_mode(self):
self.putChildProtected('assets', File(self._assets_folder))
- self.putChildPublic('startup-assets', File(self._startup_assets_folder))
+ self.putChildPublic('startup-assets', File(pkg_resources.resource_filename('templates', '.')))
self.putChildPublic('static', File(self._static_folder))
self._mode = MODE_STARTUP
logger.debug('Root in STARTUP mode. %s' % self)