From 91e4481c450eb7eb928debc1cb7fa59bdb63dd7b Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Tue, 25 Jul 2017 11:40:11 -0400 Subject: [pkg] packaging and path changes - move all the pixelated python package under src/ - move the pixelated_www package under the leap namespace - allow to set globally the static folder - add hours and minutes to the timestamp in package version, to allow for several releases a day. --- service/pixelated/resources/__init__.py | 148 -------------------------------- 1 file changed, 148 deletions(-) delete mode 100644 service/pixelated/resources/__init__.py (limited to 'service/pixelated/resources/__init__.py') diff --git a/service/pixelated/resources/__init__.py b/service/pixelated/resources/__init__.py deleted file mode 100644 index 9dae4a61..00000000 --- a/service/pixelated/resources/__init__.py +++ /dev/null @@ -1,148 +0,0 @@ -# -# Copyright (c) 2014 ThoughtWorks, Inc. -# -# Pixelated is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Pixelated is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with Pixelated. If not, see . - -import json -import os - -from twisted.web.http import UNAUTHORIZED -from twisted.web.resource import Resource -from twisted.logger import Logger - -from pixelated.resources.session import IPixelatedSession - -from twisted.web.http import INTERNAL_SERVER_ERROR, SERVICE_UNAVAILABLE - -log = Logger() - - -class SetEncoder(json.JSONEncoder): - def default(self, obj): - if isinstance(obj, set): - return list(obj) - return super(SetEncoder, self).default(obj) - - -def respond_json(entity, request, status_code=200): - json_response = json.dumps(entity, cls=SetEncoder) - request.responseHeaders.setRawHeaders(b"content-type", [b"application/json"]) - request.code = status_code - return json_response - - -def respond_json_deferred(entity, request, status_code=200): - json_response = json.dumps(entity, cls=SetEncoder) - request.responseHeaders.setRawHeaders(b"content-type", [b"application/json"]) - request.code = status_code - request.write(json_response) - request.finish() - - -def handle_error_deferred(e, request): - log.error(e) - request.setResponseCode(INTERNAL_SERVER_ERROR) - request.write('Something went wrong!') - request.finish() - - -def get_protected_static_folder(static_folder=None): - static = static_folder or _get_static_folder() - return os.path.join(static, 'protected') - - -def get_public_static_folder(static_folder=None): - static = static_folder or _get_static_folder() - return os.path.join(static, 'public') - - -def _get_static_folder(): - static_folder = os.path.abspath(os.path.join(os.path.abspath(__file__), "..", "..", "..", "..", "web-ui", "dist")) - if not os.path.exists(static_folder): - static_folder = os.path.join('/', 'usr', 'share', 'pixelated-user-agent') - return static_folder - - -class BaseResource(Resource): - - def __init__(self, services_factory): - Resource.__init__(self) - self._services_factory = services_factory - - def _get_user_id_from_request(self, request): - if self._services_factory.mode.is_single_user: - return None # it doesn't matter - session = self.get_session(request) - if session.is_logged_in(): - return session.user_uuid - raise ValueError('Not logged in') - - def is_logged_in(self, request): - session = self.get_session(request) - return session.is_logged_in() and self._services_factory.has_session(session.user_uuid) - - def get_session(self, request): - return IPixelatedSession(request.getSession()) - - def is_admin(self, request): - services = self._services(request) - return services._leap_session.user_auth.is_admin() - - def _services(self, request): - user_id = self._get_user_id_from_request(request) - return self._services_factory.services(user_id) - - def _service(self, request, attribute): - return getattr(self._services(request), attribute) - - def keymanager(self, request): - return self._service(request, 'keymanager') - - def mail_service(self, request): - return self._service(request, 'mail_service') - - def search_engine(self, request): - return self._service(request, 'search_engine') - - def draft_service(self, request): - return self._service(request, 'draft_service') - - def feedback_service(self, request): - return self._service(request, 'feedback_service') - - def soledad(self, request): - return self._service(request, '_leap_session').soledad - - -class UnAuthorizedResource(Resource): - - def __init__(self): - Resource.__init__(self) - - def render_GET(self, request): - request.setResponseCode(UNAUTHORIZED) - return "Unauthorized!" - - def render_POST(self, request): - request.setResponseCode(UNAUTHORIZED) - return "Unauthorized!" - - -class UnavailableResource(Resource): - def __init__(self): - Resource.__init__(self) - - def render(self, request): - request.setResponseCode(SERVICE_UNAVAILABLE) - return "Service Unavailable" -- cgit v1.2.3