Переглянути джерело

Regroup all code concerning webui in plugins/webui

Yann Weber 8 роки тому
джерело
коміт
6b5f377dc2

+ 0
- 32
lodel/interface/web/controllers.py Переглянути файл

@@ -1,32 +0,0 @@
1
-# -*- coding: utf-8 -*-
2
-from werkzeug.wrappers import Response
3
-from lodel.template.loader import TemplateLoader
4
-
5
-# This module contains the web UI controllers that will be called from the web ui class
6
-
7
-def admin(request):
8
-    loader = TemplateLoader()
9
-    response = Response(loader.render_to_response('templates/admin/admin.html'), mimetype='text/html')
10
-    response.status_code = 200
11
-    return response
12
-
13
-
14
-def index(request):
15
-    loader = TemplateLoader()
16
-    response = Response(loader.render_to_response('templates/index/index.html'), mimetype='text/html')
17
-    response.status_code = 200
18
-    return response
19
-
20
-
21
-def not_found(request):
22
-    loader = TemplateLoader()
23
-    response = Response(loader.render_to_response('templates/errors/404.html'), mimetype='text/html')
24
-    response.status_code = 404
25
-    return response
26
-
27
-
28
-def test(request):
29
-    loader = TemplateLoader()
30
-    response = Response(loader.render_to_response('templates/test.html'), mimetype='text/html')
31
-    response.status_code = 200
32
-    return response

+ 0
- 0
lodel/template/exceptions/__init__.py Переглянути файл


lodel/interface/__init__.py → plugins/webui/interface/__init__.py Переглянути файл


+ 26
- 0
plugins/webui/interface/controllers.py Переглянути файл

@@ -0,0 +1,26 @@
1
+# -*- coding: utf-8 -*-
2
+import os.path
3
+
4
+from werkzeug.wrappers import Response
5
+from .template.loader import TemplateLoader
6
+
7
+# This module contains the web UI controllers that will be called from the web ui class
8
+
9
+def get_response(tpl, mimetype = 'text/html', status_code = 200):
10
+    loader = TemplateLoader()
11
+    response = Response(    loader.render_to_response(tpl),
12
+                            mimetype = 'text/html')
13
+    response.status_code = status_code
14
+    return response
15
+
16
+def admin(request):
17
+    return get_response('admin/admin.html')
18
+
19
+def index(request):
20
+    return get_response('index/index.html')
21
+
22
+def not_found(request):
23
+    return get_response('errors/404.html', status_code = 404)
24
+
25
+def test(request):
26
+    return get_response('test.html')

lodel/interface/web/lodelrequest.py → plugins/webui/interface/lodelrequest.py Переглянути файл


lodel/interface/web/router.py → plugins/webui/interface/router.py Переглянути файл

@@ -1,13 +1,13 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 import re
3 3
 
4
-from lodel.interface.web.controllers import *
5
-import lodel.interface.web.urls as main_urls
4
+from .controllers import *
5
+from .urls import urls
6 6
 
7 7
 
8 8
 def get_controller(request):
9 9
     url_rules = []
10
-    for url in main_urls.urls:
10
+    for url in urls:
11 11
         url_rules.append((url[0], url[1]))
12 12
 
13 13
     # Returning the right controller to call
@@ -17,4 +17,4 @@ def get_controller(request):
17 17
             request.url_args = match.groups()
18 18
             return callback
19 19
 
20
-    return not_found
20
+    return not_found

lodel/interface/web/__init__.py → plugins/webui/interface/template/__init__.py Переглянути файл


lodel/template/__init__.py → plugins/webui/interface/template/api/__init__.py Переглянути файл


lodel/template/api/api_lodel_templates.py → plugins/webui/interface/template/api/api_lodel_templates.py Переглянути файл


lodel/template/api/__init__.py → plugins/webui/interface/template/exceptions/__init__.py Переглянути файл


lodel/template/exceptions/not_allowed_custom_api_key_error.py → plugins/webui/interface/template/exceptions/not_allowed_custom_api_key_error.py Переглянути файл


lodel/template/loader.py → plugins/webui/interface/template/loader.py Переглянути файл

@@ -3,9 +3,11 @@ import jinja2
3 3
 import os
4 4
 
5 5
 import settings
6
-from lodel.template.api import api_lodel_templates
7
-from lodel.template.exceptions.not_allowed_custom_api_key_error import NotAllowedCustomAPIKeyError
6
+from .api import api_lodel_templates
7
+from .exceptions.not_allowed_custom_api_key_error import NotAllowedCustomAPIKeyError
8 8
 
9
+from ...main import PLUGIN_PATH
10
+TEMPLATE_PATH = os.path.realpath(os.path.join(PLUGIN_PATH, 'templates/'))
9 11
 
10 12
 class TemplateLoader(object):
11 13
 
@@ -18,7 +20,7 @@ class TemplateLoader(object):
18 20
     # @param follow_links bool : indicates whether or not to follow the symbolic links (default: True)
19 21
     # @param is_cache_active bool : indicates whether or not the cache should be activated or not (default: True)
20 22
     # @todo connect this to the new settings system
21
-    def __init__(self, search_path=settings.base_path, follow_links=True, is_cache_active=True):
23
+    def __init__(self, search_path=TEMPLATE_PATH, follow_links=True, is_cache_active=True):
22 24
         self.search_path = search_path
23 25
         self.follow_links = follow_links
24 26
         self.is_cache_active = is_cache_active

lodel/interface/web/urls.py → plugins/webui/interface/urls.py Переглянути файл

@@ -1,4 +1,4 @@
1
-from lodel.interface.web.controllers import *
1
+from .controllers import *
2 2
 
3 3
 urls = (
4 4
     (r'^$', index),
@@ -6,4 +6,4 @@ urls = (
6 6
     (r'admin/(.+)$', admin),
7 7
     (r'test/(.+)$', test),
8 8
     (r'test/?$', test)
9
-)
9
+)

+ 4
- 2
plugins/webui/main.py Переглянути файл

@@ -1,14 +1,16 @@
1 1
 #-*- coding: utf-8 -*-
2 2
 
3
-import os
3
+import os, os.path
4 4
 from lodel.plugin import LodelHook
5 5
 from lodel.settings import Settings
6 6
 
7
+PLUGIN_PATH = os.path.dirname(__file__)
8
+
7 9
 ##@brief uwsgi startup demo
8 10
 @LodelHook('lodel2_loader_main')
9 11
 def uwsgi_fork(hook_name, caller, payload):
10 12
     if Settings.webui.standalone:
11
-        cmd='uwsgi_python3 --http-socket {addr}:{port} --module run'
13
+        cmd='uwsgi_python3 --http-socket {addr}:{port} --module plugins.webui.run'
12 14
         cmd = cmd.format(
13 15
                     addr = Settings.webui.listen_address,
14 16
                     port = Settings.webui.listen_port)

install/run.py → plugins/webui/run.py Переглянути файл

@@ -5,8 +5,8 @@ import os
5 5
 from werkzeug.contrib.sessions import FilesystemSessionStore
6 6
 
7 7
 from lodel.settings import Settings
8
-from lodel.interface.web.router import get_controller
9
-from lodel.interface.web.lodelrequest import LodelRequest
8
+from .interface.router import get_controller
9
+from .interface.lodelrequest import LodelRequest
10 10
 from lodel.utils.datetime import get_utc_timestamp
11 11
 
12 12
 SESSION_FILES_BASE_DIR = Settings.webui.sessions.directory

+ 3
- 0
plugins/webui/templates/admin/admin.html Переглянути файл

@@ -0,0 +1,3 @@
1
+{% extends "base_backend.html" %}
2
+{% block title %}Lodel 2 - ADMIN{% endblock %}
3
+{% block content %}ADMIN{% endblock %}

templates/base.html → plugins/webui/templates/base.html Переглянути файл


templates/base_backend.html → plugins/webui/templates/base_backend.html Переглянути файл


templates/errors/404.html → plugins/webui/templates/errors/404.html Переглянути файл


+ 3
- 0
plugins/webui/templates/index/index.html Переглянути файл

@@ -0,0 +1,3 @@
1
+{% extends "base.html" %}
2
+{% block title %}Lodel 2 - DASHBOARD{% endblock %}
3
+{% block content %}DASHBOARD{% endblock %}

templates/test.html → plugins/webui/templates/test.html Переглянути файл


+ 0
- 1
scripts/create_instance.sh Переглянути файл

@@ -37,7 +37,6 @@ cp -Rv $libdir/install/conf.d $instdir/
37 37
 cp -Rv $libdir/install/loader.py $instdir/
38 38
 cp -Rv $libdir/install/editorial_model.pickle $instdir/
39 39
 ln -sv $libdir/install/Makefile $instdir/Makefile
40
-ln -sv $libdir/install/run.py $instdir/run.py
41 40
 ln -sv $libdir/install/lodel_admin.py $instdir/lodel_admin.py
42 41
 ln -sv $libdir/plugins $instdir/plugins
43 42
 

+ 0
- 3
templates/admin/admin.html Переглянути файл

@@ -1,3 +0,0 @@
1
-{% extends "templates/base_backend.html" %}
2
-{% block title %}Lodel 2 - ADMIN{% endblock %}
3
-{% block content %}ADMIN{% endblock %}

+ 0
- 3
templates/index/index.html Переглянути файл

@@ -1,3 +0,0 @@
1
-{% extends "templates/base.html" %}
2
-{% block title %}Lodel 2 - DASHBOARD{% endblock %}
3
-{% block content %}DASHBOARD{% endblock %}

Loading…
Відмінити
Зберегти