summaryrefslogtreecommitdiff
path: root/service/pixelated/controllers/home_controller.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/controllers/home_controller.py')
-rw-r--r--service/pixelated/controllers/home_controller.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/service/pixelated/controllers/home_controller.py b/service/pixelated/controllers/home_controller.py
index 69ecd52f..ccdad197 100644
--- a/service/pixelated/controllers/home_controller.py
+++ b/service/pixelated/controllers/home_controller.py
@@ -13,14 +13,30 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+import os
-from flask import current_app
+from twisted.web.static import File
class HomeController:
-
def __init__(self):
+ self.static_folder = self._get_static_folder()
pass
- def home(self):
- return current_app.send_static_file('index.html')
+ def _get_static_folder(self):
+
+ static_folder = os.path.abspath(os.path.join(os.path.abspath(__file__), "..", "..", "..", "web-ui", "app"))
+ # this is a workaround for packaging
+ if not os.path.exists(static_folder):
+ static_folder = os.path.abspath(
+ os.path.join(os.path.abspath(__file__), "..", "..", "..", "..", "web-ui", "app"))
+ if not os.path.exists(static_folder):
+ static_folder = os.path.join('/', 'usr', 'share', 'pixelated-user-agent')
+ return static_folder
+
+ def home(self, request):
+ request_type = request.requestHeaders.getRawHeaders('accept')[0].split(',')[0]
+ response_type = request_type if request_type else "text/html"
+
+ request.setHeader('Content-Type', response_type)
+ return File('%s/' % self.static_folder, defaultType=response_type)