From d1e5d12b2b9519801f7b981a2177b3f36115714a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jordan=20Aug=C3=A9?= Date: Fri, 9 Aug 2013 01:35:39 +0200 Subject: [PATCH] unfold: better management of static files thanks to finders for plugins and third-party. Makefile not used anymore plugins: cleaned up plugin structure to better serve staticfiles --- myslice/settings.py | 27 +++-- myslice/urls.py | 4 + .../{ => static}/active_filters.html | 0 .../{ => static/css}/active_filters.css | 0 .../{ => static/img}/details_close.png | Bin .../{ => static/img}/details_open.png | Bin .../{ => static/js}/active_filters.js | 0 .../code_editor/{ => static}/code_editor.html | 0 .../code_editor/{ => static}/img/handle-h.png | Bin .../code_editor/{ => static}/img/handle-v.png | Bin .../{ => static}/img/initializing.png | Bin .../code_editor/{ => static/js}/Actions.js | 0 .../code_editor/{ => static/js}/EditorCM.js | 0 .../code_editor/{ => static/js}/LayoutCM.js | 0 .../{ => static/js}/code_editor.js | 0 .../{ => static/js}/moo-clientcide-1.3.js | 0 .../{ => static/css}/debug_platform.css | 0 .../{ => static}/debug_platform.html | 0 .../{ => static/js}/debug_platform.js | 0 plugins/form/{ => static/css}/form.css | 0 plugins/form/{ => static}/form.html | 0 plugins/form/{ => static/js}/form.js | 0 .../form/{ => static/js}/jquery.validate.js | 0 .../googlemap/{ => static/css}/googlemap.css | 0 plugins/googlemap/{ => static}/googlemap.html | 0 .../googlemap/{ => static/js}/googlemap.js | 0 .../{ => static/js}/markerclusterer.js | 0 .../js}/markerclusterer_compiled.js | 0 .../{ => static/js}/markerclusterer_packed.js | 0 .../hazelnut/{ => static/css}/hazelnut.css | 0 plugins/hazelnut/{ => static}/hazelnut.html | 0 plugins/hazelnut/{ => static}/img/README | 0 .../{ => static}/img/tablesort-bullet1.png | Bin .../{ => static}/img/tablesort-bullet2.png | Bin .../{ => static}/img/tablesort-col-alt.png | Bin .../{ => static}/img/tablesort-gradient.png | Bin .../img/tablesort-header-down.png | Bin .../img/tablesort-header-sortable.png | Bin .../{ => static}/img/tablesort-header-up.png | Bin .../{ => static}/img/tablesort-header.png | Bin .../{ => static}/img/tablesort-td-alt.png | Bin .../{ => static}/img/toggle-hidden.png | Bin .../{ => static}/img/toggle-visible.png | Bin plugins/hazelnut/{ => static/js}/hazelnut.js | 0 plugins/lists/{ => static/css}/simplelist.css | 0 plugins/lists/{ => static/css}/staticlist.css | 0 plugins/lists/{ => static/js}/simplelist.js | 0 .../lists/{ => static/js}/with-datatables.js | 0 plugins/lists/{ => static}/simplelist.html | 0 plugins/lists/{ => static}/staticlist.html | 0 .../messages/{ => static/css}/messages.css | 0 plugins/messages/{ => static/js}/messages.js | 0 plugins/messages/{ => static}/messages.html | 0 .../myplugin/{ => static/css}/myplugin.css | 0 plugins/myplugin/{ => static/js}/myplugin.js | 0 plugins/myplugin/{ => static}/myplugin.html | 0 .../pres_view/{ => static/css}/jquery-ui.css | 0 .../pres_view/{ => static/css}/pres_view.css | 0 plugins/pres_view/{ => static/js}/MooTools.js | 0 .../{ => static/js}/afficher_par_id.js | 0 plugins/pres_view/{ => static/js}/config.js | 0 plugins/pres_view/{ => static/js}/dynamic.js | 0 plugins/pres_view/{ => static/js}/initmap.js | 0 .../{ => static/js}/jquery-ui.min.js | 0 .../pres_view/{ => static/js}/jquery.min.js | 0 .../{ => static/js}/mootools-core.js | 0 .../pres_view/{ => static/js}/pres_view.js | 0 .../pres_view/{ => static/js}/recup_data.js | 0 .../pres_view/{ => static/js}/recup_direct.js | 0 .../pres_view/{ => static/js}/recup_liste.js | 0 .../{ => static/js}/recup_tout_sites.js | 0 plugins/pres_view/{ => static/js}/visible.js | 0 plugins/pres_view/{ => static}/pres_view.html | 0 .../{ => static/css}/demo_page.css | 0 .../{ => static/css}/demo_table.css | 0 .../{ => static/css}/query_editor.css | 0 .../{ => static}/filter_input_integer.html | 0 .../{ => static}/filter_input_others.html | 0 .../{ => static}/filter_input_string.html | 0 .../filter_input_string_values.html | 0 .../query_editor/static/img/details_close.png | Bin 0 -> 841 bytes .../img}/myslice-icon-filter.png | Bin .../{ => static/js}/query_editor.js | 5 +- .../{ => static}/query_editor.html | 13 +-- .../querycode/{ => static/css}/querycode.css | 0 .../querycode/{ => static/js}/querycode.js | 0 plugins/querycode/{ => static}/querycode.html | 0 .../{ => static/css}/quickfilter.css | 0 .../{ => static/js}/quickfilter.js | 0 .../quickfilter/{ => static}/quickfilter.html | 0 .../{ => static/css}/resources_selected.css | 0 .../{ => static/js}/resources_selected.js | 0 .../resources_selected.html | 0 .../{ => static/css}/senslabmap.css | 0 .../senslabmap/{ => static/js}/grenoble.js | 0 .../senslabmap/{ => static/js}/senslabmap.js | 0 plugins/senslabmap/{ => static/js}/three.js | 0 .../senslabmap/{ => static/js}/viewer3D.js | 0 .../senslabmap/{ => static}/senslabmap.html | 0 plugins/stack/{ => static}/stack.html | 0 plugins/tabs/{ => static/css}/tabs.css | 0 plugins/tabs/{ => static/js}/tabs.js | 0 plugins/tabs/{ => static}/tabs.html | 0 plugins/updater/{ => static/css}/updater.css | 0 plugins/updater/{ => static/js}/updater.js | 0 plugins/updater/{ => static}/updater.html | 0 plugins/wizard/{ => static/css}/wizard.css | 0 plugins/wizard/{ => static/js}/wizard.js | 0 plugins/wizard/{ => static}/test.html | 0 plugins/wizard/{ => static}/wizard.html | 0 unfold/static.py | 101 ++++++++++++++++++ 111 files changed, 136 insertions(+), 14 deletions(-) rename plugins/active_filters/{ => static}/active_filters.html (100%) rename plugins/active_filters/{ => static/css}/active_filters.css (100%) rename plugins/active_filters/{ => static/img}/details_close.png (100%) rename plugins/active_filters/{ => static/img}/details_open.png (100%) rename plugins/active_filters/{ => static/js}/active_filters.js (100%) rename plugins/code_editor/{ => static}/code_editor.html (100%) rename plugins/code_editor/{ => static}/img/handle-h.png (100%) rename plugins/code_editor/{ => static}/img/handle-v.png (100%) rename plugins/code_editor/{ => static}/img/initializing.png (100%) rename plugins/code_editor/{ => static/js}/Actions.js (100%) rename plugins/code_editor/{ => static/js}/EditorCM.js (100%) rename plugins/code_editor/{ => static/js}/LayoutCM.js (100%) rename plugins/code_editor/{ => static/js}/code_editor.js (100%) rename plugins/code_editor/{ => static/js}/moo-clientcide-1.3.js (100%) rename plugins/debug_platform/{ => static/css}/debug_platform.css (100%) rename plugins/debug_platform/{ => static}/debug_platform.html (100%) rename plugins/debug_platform/{ => static/js}/debug_platform.js (100%) rename plugins/form/{ => static/css}/form.css (100%) rename plugins/form/{ => static}/form.html (100%) rename plugins/form/{ => static/js}/form.js (100%) rename plugins/form/{ => static/js}/jquery.validate.js (100%) rename plugins/googlemap/{ => static/css}/googlemap.css (100%) rename plugins/googlemap/{ => static}/googlemap.html (100%) rename plugins/googlemap/{ => static/js}/googlemap.js (100%) rename plugins/googlemap/{ => static/js}/markerclusterer.js (100%) rename plugins/googlemap/{ => static/js}/markerclusterer_compiled.js (100%) rename plugins/googlemap/{ => static/js}/markerclusterer_packed.js (100%) rename plugins/hazelnut/{ => static/css}/hazelnut.css (100%) rename plugins/hazelnut/{ => static}/hazelnut.html (100%) rename plugins/hazelnut/{ => static}/img/README (100%) rename plugins/hazelnut/{ => static}/img/tablesort-bullet1.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-bullet2.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-col-alt.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-gradient.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-header-down.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-header-sortable.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-header-up.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-header.png (100%) rename plugins/hazelnut/{ => static}/img/tablesort-td-alt.png (100%) rename plugins/hazelnut/{ => static}/img/toggle-hidden.png (100%) rename plugins/hazelnut/{ => static}/img/toggle-visible.png (100%) rename plugins/hazelnut/{ => static/js}/hazelnut.js (100%) rename plugins/lists/{ => static/css}/simplelist.css (100%) rename plugins/lists/{ => static/css}/staticlist.css (100%) rename plugins/lists/{ => static/js}/simplelist.js (100%) rename plugins/lists/{ => static/js}/with-datatables.js (100%) rename plugins/lists/{ => static}/simplelist.html (100%) rename plugins/lists/{ => static}/staticlist.html (100%) rename plugins/messages/{ => static/css}/messages.css (100%) rename plugins/messages/{ => static/js}/messages.js (100%) rename plugins/messages/{ => static}/messages.html (100%) rename plugins/myplugin/{ => static/css}/myplugin.css (100%) rename plugins/myplugin/{ => static/js}/myplugin.js (100%) rename plugins/myplugin/{ => static}/myplugin.html (100%) rename plugins/pres_view/{ => static/css}/jquery-ui.css (100%) rename plugins/pres_view/{ => static/css}/pres_view.css (100%) rename plugins/pres_view/{ => static/js}/MooTools.js (100%) rename plugins/pres_view/{ => static/js}/afficher_par_id.js (100%) rename plugins/pres_view/{ => static/js}/config.js (100%) rename plugins/pres_view/{ => static/js}/dynamic.js (100%) rename plugins/pres_view/{ => static/js}/initmap.js (100%) rename plugins/pres_view/{ => static/js}/jquery-ui.min.js (100%) rename plugins/pres_view/{ => static/js}/jquery.min.js (100%) rename plugins/pres_view/{ => static/js}/mootools-core.js (100%) rename plugins/pres_view/{ => static/js}/pres_view.js (100%) rename plugins/pres_view/{ => static/js}/recup_data.js (100%) rename plugins/pres_view/{ => static/js}/recup_direct.js (100%) rename plugins/pres_view/{ => static/js}/recup_liste.js (100%) rename plugins/pres_view/{ => static/js}/recup_tout_sites.js (100%) rename plugins/pres_view/{ => static/js}/visible.js (100%) rename plugins/pres_view/{ => static}/pres_view.html (100%) rename plugins/query_editor/{ => static/css}/demo_page.css (100%) rename plugins/query_editor/{ => static/css}/demo_table.css (100%) rename plugins/query_editor/{ => static/css}/query_editor.css (100%) rename plugins/query_editor/{ => static}/filter_input_integer.html (100%) rename plugins/query_editor/{ => static}/filter_input_others.html (100%) rename plugins/query_editor/{ => static}/filter_input_string.html (100%) rename plugins/query_editor/{ => static}/filter_input_string_values.html (100%) create mode 100644 plugins/query_editor/static/img/details_close.png rename plugins/query_editor/{images => static/img}/myslice-icon-filter.png (100%) rename plugins/query_editor/{ => static/js}/query_editor.js (99%) rename plugins/query_editor/{ => static}/query_editor.html (76%) rename plugins/querycode/{ => static/css}/querycode.css (100%) rename plugins/querycode/{ => static/js}/querycode.js (100%) rename plugins/querycode/{ => static}/querycode.html (100%) rename plugins/quickfilter/{ => static/css}/quickfilter.css (100%) rename plugins/quickfilter/{ => static/js}/quickfilter.js (100%) rename plugins/quickfilter/{ => static}/quickfilter.html (100%) rename plugins/resources_selected/{ => static/css}/resources_selected.css (100%) rename plugins/resources_selected/{ => static/js}/resources_selected.js (100%) rename plugins/resources_selected/{templates => static}/resources_selected.html (100%) rename plugins/senslabmap/{ => static/css}/senslabmap.css (100%) rename plugins/senslabmap/{ => static/js}/grenoble.js (100%) rename plugins/senslabmap/{ => static/js}/senslabmap.js (100%) rename plugins/senslabmap/{ => static/js}/three.js (100%) rename plugins/senslabmap/{ => static/js}/viewer3D.js (100%) rename plugins/senslabmap/{ => static}/senslabmap.html (100%) rename plugins/stack/{ => static}/stack.html (100%) rename plugins/tabs/{ => static/css}/tabs.css (100%) rename plugins/tabs/{ => static/js}/tabs.js (100%) rename plugins/tabs/{ => static}/tabs.html (100%) rename plugins/updater/{ => static/css}/updater.css (100%) rename plugins/updater/{ => static/js}/updater.js (100%) rename plugins/updater/{ => static}/updater.html (100%) rename plugins/wizard/{ => static/css}/wizard.css (100%) rename plugins/wizard/{ => static/js}/wizard.js (100%) rename plugins/wizard/{ => static}/test.html (100%) rename plugins/wizard/{ => static}/wizard.html (100%) create mode 100644 unfold/static.py diff --git a/myslice/settings.py b/myslice/settings.py index c9b30058..92bbf9c2 100644 --- a/myslice/settings.py +++ b/myslice/settings.py @@ -37,10 +37,6 @@ EMAIL_HOST = "localhost" EMAIL_PORT = 25 EMAIL_USE_TLS = False - - - - DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. @@ -92,24 +88,43 @@ STATIC_ROOT = os.path.join(ROOT,'django-static') # URL prefix for static files. # Example: "http://media.lawrence.com/static/" -STATIC_URL = '/all-static/' +# thierry STATIC_URL = '/all-static/' +STATIC_URL = '/static/' # Additional locations of static files STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. - os.path.join(ROOT,'all-static'), + # thierry os.path.join(ROOT,'all-static'), + ('js', os.path.join(ROOT,'manifold/js')), + ('js', os.path.join(ROOT,'unfold/js')), + ('js', os.path.join(ROOT,'auth/js')), + ('css', os.path.join(ROOT,'manifold/css')), + ('css', os.path.join(ROOT,'unfold/css')), + ('css', os.path.join(ROOT,'views/css')), + ('img', os.path.join(ROOT,'views/img')), ) +# Needed by PluginFinder +PLUGIN_DIR = os.path.join(ROOT,'plugins') +# ThirdPartyFinder +THIRDPARTY_DIR = os.path.join(ROOT, 'third-party') + # List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + 'unfold.static.PluginFinder', + 'unfold.static.ThirdPartyFinder', # 'django.contrib.staticfiles.finders.DefaultStorageFinder', ) +TEMPLATE_CONTEXT_PROCESSORS = ( + 'django.core.context_processors.static', +) + # Make this unique, and don't share it with anybody. SECRET_KEY = 't%n(3h)&r^n8(+8)(sp29t^$c2#t(m3)e2!02l8w1#36tl#t27' diff --git a/myslice/urls.py b/myslice/urls.py index b37ee500..8accdb59 100644 --- a/myslice/urls.py +++ b/myslice/urls.py @@ -1,4 +1,5 @@ from django.conf.urls import patterns, include, url +from django.conf import settings # Uncomment the next two lines to enable the admin: # from django.contrib import admin @@ -51,5 +52,8 @@ urlpatterns = patterns( url(r'^portal/', include('portal.urls')), # Debug url(r'^debug/', include('debug_platform.urls')), + # Static files + (r'^static/(?P.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), + ) diff --git a/plugins/active_filters/active_filters.html b/plugins/active_filters/static/active_filters.html similarity index 100% rename from plugins/active_filters/active_filters.html rename to plugins/active_filters/static/active_filters.html diff --git a/plugins/active_filters/active_filters.css b/plugins/active_filters/static/css/active_filters.css similarity index 100% rename from plugins/active_filters/active_filters.css rename to plugins/active_filters/static/css/active_filters.css diff --git a/plugins/active_filters/details_close.png b/plugins/active_filters/static/img/details_close.png similarity index 100% rename from plugins/active_filters/details_close.png rename to plugins/active_filters/static/img/details_close.png diff --git a/plugins/active_filters/details_open.png b/plugins/active_filters/static/img/details_open.png similarity index 100% rename from plugins/active_filters/details_open.png rename to plugins/active_filters/static/img/details_open.png diff --git a/plugins/active_filters/active_filters.js b/plugins/active_filters/static/js/active_filters.js similarity index 100% rename from plugins/active_filters/active_filters.js rename to plugins/active_filters/static/js/active_filters.js diff --git a/plugins/code_editor/code_editor.html b/plugins/code_editor/static/code_editor.html similarity index 100% rename from plugins/code_editor/code_editor.html rename to plugins/code_editor/static/code_editor.html diff --git a/plugins/code_editor/img/handle-h.png b/plugins/code_editor/static/img/handle-h.png similarity index 100% rename from plugins/code_editor/img/handle-h.png rename to plugins/code_editor/static/img/handle-h.png diff --git a/plugins/code_editor/img/handle-v.png b/plugins/code_editor/static/img/handle-v.png similarity index 100% rename from plugins/code_editor/img/handle-v.png rename to plugins/code_editor/static/img/handle-v.png diff --git a/plugins/code_editor/img/initializing.png b/plugins/code_editor/static/img/initializing.png similarity index 100% rename from plugins/code_editor/img/initializing.png rename to plugins/code_editor/static/img/initializing.png diff --git a/plugins/code_editor/Actions.js b/plugins/code_editor/static/js/Actions.js similarity index 100% rename from plugins/code_editor/Actions.js rename to plugins/code_editor/static/js/Actions.js diff --git a/plugins/code_editor/EditorCM.js b/plugins/code_editor/static/js/EditorCM.js similarity index 100% rename from plugins/code_editor/EditorCM.js rename to plugins/code_editor/static/js/EditorCM.js diff --git a/plugins/code_editor/LayoutCM.js b/plugins/code_editor/static/js/LayoutCM.js similarity index 100% rename from plugins/code_editor/LayoutCM.js rename to plugins/code_editor/static/js/LayoutCM.js diff --git a/plugins/code_editor/code_editor.js b/plugins/code_editor/static/js/code_editor.js similarity index 100% rename from plugins/code_editor/code_editor.js rename to plugins/code_editor/static/js/code_editor.js diff --git a/plugins/code_editor/moo-clientcide-1.3.js b/plugins/code_editor/static/js/moo-clientcide-1.3.js similarity index 100% rename from plugins/code_editor/moo-clientcide-1.3.js rename to plugins/code_editor/static/js/moo-clientcide-1.3.js diff --git a/plugins/debug_platform/debug_platform.css b/plugins/debug_platform/static/css/debug_platform.css similarity index 100% rename from plugins/debug_platform/debug_platform.css rename to plugins/debug_platform/static/css/debug_platform.css diff --git a/plugins/debug_platform/debug_platform.html b/plugins/debug_platform/static/debug_platform.html similarity index 100% rename from plugins/debug_platform/debug_platform.html rename to plugins/debug_platform/static/debug_platform.html diff --git a/plugins/debug_platform/debug_platform.js b/plugins/debug_platform/static/js/debug_platform.js similarity index 100% rename from plugins/debug_platform/debug_platform.js rename to plugins/debug_platform/static/js/debug_platform.js diff --git a/plugins/form/form.css b/plugins/form/static/css/form.css similarity index 100% rename from plugins/form/form.css rename to plugins/form/static/css/form.css diff --git a/plugins/form/form.html b/plugins/form/static/form.html similarity index 100% rename from plugins/form/form.html rename to plugins/form/static/form.html diff --git a/plugins/form/form.js b/plugins/form/static/js/form.js similarity index 100% rename from plugins/form/form.js rename to plugins/form/static/js/form.js diff --git a/plugins/form/jquery.validate.js b/plugins/form/static/js/jquery.validate.js similarity index 100% rename from plugins/form/jquery.validate.js rename to plugins/form/static/js/jquery.validate.js diff --git a/plugins/googlemap/googlemap.css b/plugins/googlemap/static/css/googlemap.css similarity index 100% rename from plugins/googlemap/googlemap.css rename to plugins/googlemap/static/css/googlemap.css diff --git a/plugins/googlemap/googlemap.html b/plugins/googlemap/static/googlemap.html similarity index 100% rename from plugins/googlemap/googlemap.html rename to plugins/googlemap/static/googlemap.html diff --git a/plugins/googlemap/googlemap.js b/plugins/googlemap/static/js/googlemap.js similarity index 100% rename from plugins/googlemap/googlemap.js rename to plugins/googlemap/static/js/googlemap.js diff --git a/plugins/googlemap/markerclusterer.js b/plugins/googlemap/static/js/markerclusterer.js similarity index 100% rename from plugins/googlemap/markerclusterer.js rename to plugins/googlemap/static/js/markerclusterer.js diff --git a/plugins/googlemap/markerclusterer_compiled.js b/plugins/googlemap/static/js/markerclusterer_compiled.js similarity index 100% rename from plugins/googlemap/markerclusterer_compiled.js rename to plugins/googlemap/static/js/markerclusterer_compiled.js diff --git a/plugins/googlemap/markerclusterer_packed.js b/plugins/googlemap/static/js/markerclusterer_packed.js similarity index 100% rename from plugins/googlemap/markerclusterer_packed.js rename to plugins/googlemap/static/js/markerclusterer_packed.js diff --git a/plugins/hazelnut/hazelnut.css b/plugins/hazelnut/static/css/hazelnut.css similarity index 100% rename from plugins/hazelnut/hazelnut.css rename to plugins/hazelnut/static/css/hazelnut.css diff --git a/plugins/hazelnut/hazelnut.html b/plugins/hazelnut/static/hazelnut.html similarity index 100% rename from plugins/hazelnut/hazelnut.html rename to plugins/hazelnut/static/hazelnut.html diff --git a/plugins/hazelnut/img/README b/plugins/hazelnut/static/img/README similarity index 100% rename from plugins/hazelnut/img/README rename to plugins/hazelnut/static/img/README diff --git a/plugins/hazelnut/img/tablesort-bullet1.png b/plugins/hazelnut/static/img/tablesort-bullet1.png similarity index 100% rename from plugins/hazelnut/img/tablesort-bullet1.png rename to plugins/hazelnut/static/img/tablesort-bullet1.png diff --git a/plugins/hazelnut/img/tablesort-bullet2.png b/plugins/hazelnut/static/img/tablesort-bullet2.png similarity index 100% rename from plugins/hazelnut/img/tablesort-bullet2.png rename to plugins/hazelnut/static/img/tablesort-bullet2.png diff --git a/plugins/hazelnut/img/tablesort-col-alt.png b/plugins/hazelnut/static/img/tablesort-col-alt.png similarity index 100% rename from plugins/hazelnut/img/tablesort-col-alt.png rename to plugins/hazelnut/static/img/tablesort-col-alt.png diff --git a/plugins/hazelnut/img/tablesort-gradient.png b/plugins/hazelnut/static/img/tablesort-gradient.png similarity index 100% rename from plugins/hazelnut/img/tablesort-gradient.png rename to plugins/hazelnut/static/img/tablesort-gradient.png diff --git a/plugins/hazelnut/img/tablesort-header-down.png b/plugins/hazelnut/static/img/tablesort-header-down.png similarity index 100% rename from plugins/hazelnut/img/tablesort-header-down.png rename to plugins/hazelnut/static/img/tablesort-header-down.png diff --git a/plugins/hazelnut/img/tablesort-header-sortable.png b/plugins/hazelnut/static/img/tablesort-header-sortable.png similarity index 100% rename from plugins/hazelnut/img/tablesort-header-sortable.png rename to plugins/hazelnut/static/img/tablesort-header-sortable.png diff --git a/plugins/hazelnut/img/tablesort-header-up.png b/plugins/hazelnut/static/img/tablesort-header-up.png similarity index 100% rename from plugins/hazelnut/img/tablesort-header-up.png rename to plugins/hazelnut/static/img/tablesort-header-up.png diff --git a/plugins/hazelnut/img/tablesort-header.png b/plugins/hazelnut/static/img/tablesort-header.png similarity index 100% rename from plugins/hazelnut/img/tablesort-header.png rename to plugins/hazelnut/static/img/tablesort-header.png diff --git a/plugins/hazelnut/img/tablesort-td-alt.png b/plugins/hazelnut/static/img/tablesort-td-alt.png similarity index 100% rename from plugins/hazelnut/img/tablesort-td-alt.png rename to plugins/hazelnut/static/img/tablesort-td-alt.png diff --git a/plugins/hazelnut/img/toggle-hidden.png b/plugins/hazelnut/static/img/toggle-hidden.png similarity index 100% rename from plugins/hazelnut/img/toggle-hidden.png rename to plugins/hazelnut/static/img/toggle-hidden.png diff --git a/plugins/hazelnut/img/toggle-visible.png b/plugins/hazelnut/static/img/toggle-visible.png similarity index 100% rename from plugins/hazelnut/img/toggle-visible.png rename to plugins/hazelnut/static/img/toggle-visible.png diff --git a/plugins/hazelnut/hazelnut.js b/plugins/hazelnut/static/js/hazelnut.js similarity index 100% rename from plugins/hazelnut/hazelnut.js rename to plugins/hazelnut/static/js/hazelnut.js diff --git a/plugins/lists/simplelist.css b/plugins/lists/static/css/simplelist.css similarity index 100% rename from plugins/lists/simplelist.css rename to plugins/lists/static/css/simplelist.css diff --git a/plugins/lists/staticlist.css b/plugins/lists/static/css/staticlist.css similarity index 100% rename from plugins/lists/staticlist.css rename to plugins/lists/static/css/staticlist.css diff --git a/plugins/lists/simplelist.js b/plugins/lists/static/js/simplelist.js similarity index 100% rename from plugins/lists/simplelist.js rename to plugins/lists/static/js/simplelist.js diff --git a/plugins/lists/with-datatables.js b/plugins/lists/static/js/with-datatables.js similarity index 100% rename from plugins/lists/with-datatables.js rename to plugins/lists/static/js/with-datatables.js diff --git a/plugins/lists/simplelist.html b/plugins/lists/static/simplelist.html similarity index 100% rename from plugins/lists/simplelist.html rename to plugins/lists/static/simplelist.html diff --git a/plugins/lists/staticlist.html b/plugins/lists/static/staticlist.html similarity index 100% rename from plugins/lists/staticlist.html rename to plugins/lists/static/staticlist.html diff --git a/plugins/messages/messages.css b/plugins/messages/static/css/messages.css similarity index 100% rename from plugins/messages/messages.css rename to plugins/messages/static/css/messages.css diff --git a/plugins/messages/messages.js b/plugins/messages/static/js/messages.js similarity index 100% rename from plugins/messages/messages.js rename to plugins/messages/static/js/messages.js diff --git a/plugins/messages/messages.html b/plugins/messages/static/messages.html similarity index 100% rename from plugins/messages/messages.html rename to plugins/messages/static/messages.html diff --git a/plugins/myplugin/myplugin.css b/plugins/myplugin/static/css/myplugin.css similarity index 100% rename from plugins/myplugin/myplugin.css rename to plugins/myplugin/static/css/myplugin.css diff --git a/plugins/myplugin/myplugin.js b/plugins/myplugin/static/js/myplugin.js similarity index 100% rename from plugins/myplugin/myplugin.js rename to plugins/myplugin/static/js/myplugin.js diff --git a/plugins/myplugin/myplugin.html b/plugins/myplugin/static/myplugin.html similarity index 100% rename from plugins/myplugin/myplugin.html rename to plugins/myplugin/static/myplugin.html diff --git a/plugins/pres_view/jquery-ui.css b/plugins/pres_view/static/css/jquery-ui.css similarity index 100% rename from plugins/pres_view/jquery-ui.css rename to plugins/pres_view/static/css/jquery-ui.css diff --git a/plugins/pres_view/pres_view.css b/plugins/pres_view/static/css/pres_view.css similarity index 100% rename from plugins/pres_view/pres_view.css rename to plugins/pres_view/static/css/pres_view.css diff --git a/plugins/pres_view/MooTools.js b/plugins/pres_view/static/js/MooTools.js similarity index 100% rename from plugins/pres_view/MooTools.js rename to plugins/pres_view/static/js/MooTools.js diff --git a/plugins/pres_view/afficher_par_id.js b/plugins/pres_view/static/js/afficher_par_id.js similarity index 100% rename from plugins/pres_view/afficher_par_id.js rename to plugins/pres_view/static/js/afficher_par_id.js diff --git a/plugins/pres_view/config.js b/plugins/pres_view/static/js/config.js similarity index 100% rename from plugins/pres_view/config.js rename to plugins/pres_view/static/js/config.js diff --git a/plugins/pres_view/dynamic.js b/plugins/pres_view/static/js/dynamic.js similarity index 100% rename from plugins/pres_view/dynamic.js rename to plugins/pres_view/static/js/dynamic.js diff --git a/plugins/pres_view/initmap.js b/plugins/pres_view/static/js/initmap.js similarity index 100% rename from plugins/pres_view/initmap.js rename to plugins/pres_view/static/js/initmap.js diff --git a/plugins/pres_view/jquery-ui.min.js b/plugins/pres_view/static/js/jquery-ui.min.js similarity index 100% rename from plugins/pres_view/jquery-ui.min.js rename to plugins/pres_view/static/js/jquery-ui.min.js diff --git a/plugins/pres_view/jquery.min.js b/plugins/pres_view/static/js/jquery.min.js similarity index 100% rename from plugins/pres_view/jquery.min.js rename to plugins/pres_view/static/js/jquery.min.js diff --git a/plugins/pres_view/mootools-core.js b/plugins/pres_view/static/js/mootools-core.js similarity index 100% rename from plugins/pres_view/mootools-core.js rename to plugins/pres_view/static/js/mootools-core.js diff --git a/plugins/pres_view/pres_view.js b/plugins/pres_view/static/js/pres_view.js similarity index 100% rename from plugins/pres_view/pres_view.js rename to plugins/pres_view/static/js/pres_view.js diff --git a/plugins/pres_view/recup_data.js b/plugins/pres_view/static/js/recup_data.js similarity index 100% rename from plugins/pres_view/recup_data.js rename to plugins/pres_view/static/js/recup_data.js diff --git a/plugins/pres_view/recup_direct.js b/plugins/pres_view/static/js/recup_direct.js similarity index 100% rename from plugins/pres_view/recup_direct.js rename to plugins/pres_view/static/js/recup_direct.js diff --git a/plugins/pres_view/recup_liste.js b/plugins/pres_view/static/js/recup_liste.js similarity index 100% rename from plugins/pres_view/recup_liste.js rename to plugins/pres_view/static/js/recup_liste.js diff --git a/plugins/pres_view/recup_tout_sites.js b/plugins/pres_view/static/js/recup_tout_sites.js similarity index 100% rename from plugins/pres_view/recup_tout_sites.js rename to plugins/pres_view/static/js/recup_tout_sites.js diff --git a/plugins/pres_view/visible.js b/plugins/pres_view/static/js/visible.js similarity index 100% rename from plugins/pres_view/visible.js rename to plugins/pres_view/static/js/visible.js diff --git a/plugins/pres_view/pres_view.html b/plugins/pres_view/static/pres_view.html similarity index 100% rename from plugins/pres_view/pres_view.html rename to plugins/pres_view/static/pres_view.html diff --git a/plugins/query_editor/demo_page.css b/plugins/query_editor/static/css/demo_page.css similarity index 100% rename from plugins/query_editor/demo_page.css rename to plugins/query_editor/static/css/demo_page.css diff --git a/plugins/query_editor/demo_table.css b/plugins/query_editor/static/css/demo_table.css similarity index 100% rename from plugins/query_editor/demo_table.css rename to plugins/query_editor/static/css/demo_table.css diff --git a/plugins/query_editor/query_editor.css b/plugins/query_editor/static/css/query_editor.css similarity index 100% rename from plugins/query_editor/query_editor.css rename to plugins/query_editor/static/css/query_editor.css diff --git a/plugins/query_editor/filter_input_integer.html b/plugins/query_editor/static/filter_input_integer.html similarity index 100% rename from plugins/query_editor/filter_input_integer.html rename to plugins/query_editor/static/filter_input_integer.html diff --git a/plugins/query_editor/filter_input_others.html b/plugins/query_editor/static/filter_input_others.html similarity index 100% rename from plugins/query_editor/filter_input_others.html rename to plugins/query_editor/static/filter_input_others.html diff --git a/plugins/query_editor/filter_input_string.html b/plugins/query_editor/static/filter_input_string.html similarity index 100% rename from plugins/query_editor/filter_input_string.html rename to plugins/query_editor/static/filter_input_string.html diff --git a/plugins/query_editor/filter_input_string_values.html b/plugins/query_editor/static/filter_input_string_values.html similarity index 100% rename from plugins/query_editor/filter_input_string_values.html rename to plugins/query_editor/static/filter_input_string_values.html diff --git a/plugins/query_editor/static/img/details_close.png b/plugins/query_editor/static/img/details_close.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc23c63e22f9883bef72c9e3adae3d5ddfb35cc GIT binary patch literal 841 zcmV-P1GfB$P)DA_on|3pY;aiIaw_AzX~% z0wEzG!5U~A62!y<6#_3!Y0@BA($@0c+jVBUFF+~kfo;CbzTKH`cV=g%b|^n=hzi67 zM5UV3FcF6cUCnu^p}pjrsWm6Ug}98UR-~ZFvWN`g0Fg%+2vP1rl3*$mmwr5rOIH=?}WDABr;u?U4@YDw`9eOu1C&^?L7Z zY;1fZBc9KT-2A-Q9Uc}tJv}1T-7R)sycF4)8NstzNldzAgSOWc2V?31C|17Z<>j$J zAke}0_aQSe0l9^R;<1c^#DEC_0!d$>Do3Jo15TlYl9m;-_3M7y&8+fGbP>p=udnZ^^3rY*Ry8&@-XZS}=H{ef zDUJ>}0_oCdYHA|eDvG0BC2ghK?XIQGd^|3d(Ko2a8%4c^+ z2RQuxqA|Bf6p=-Yhg81x*8ObQBJv5%iB0 zU9{XrXRDi=!8bAj&V~kvL?Uy+VDJ@gXo|Fa=^duiBKhvUSnKK%G5>85_4~!w&Q6gS z9~Xt4ozl{)vr6y0nuGJKj&rJgrBbPcMMU#|wJ-Lc4fdkiFZ`>)vh)56_#?mow%h=n ThIkt{00000NkvXXu0mjfW_^Rc literal 0 HcmV?d00001 diff --git a/plugins/query_editor/images/myslice-icon-filter.png b/plugins/query_editor/static/img/myslice-icon-filter.png similarity index 100% rename from plugins/query_editor/images/myslice-icon-filter.png rename to plugins/query_editor/static/img/myslice-icon-filter.png diff --git a/plugins/query_editor/query_editor.js b/plugins/query_editor/static/js/query_editor.js similarity index 99% rename from plugins/query_editor/query_editor.js rename to plugins/query_editor/static/js/query_editor.js index ff2136e0..e065a657 100644 --- a/plugins/query_editor/query_editor.js +++ b/plugins/query_editor/static/js/query_editor.js @@ -47,7 +47,7 @@ manifold.raise_event(self.options.query_uuid, this.checked?FIELD_ADDED:FIELD_REMOVED, this.value); }); - /* The following code adds an expandable column for the table */ + /* The following code adds an expandable column for the table // XXX Why isn't it done statically ? var nCloneTh = document.createElement( 'th' ); var nCloneTd = document.createElement( 'td' ); @@ -62,6 +62,7 @@ this.el('table tbody tr').each(function() { this.insertBefore(nCloneTd.cloneNode( true ), this.childNodes[0]); }); + */ // We are currently using a DataTable display, but another browsing component could be better //jQuery('#'+this.options.plugin_uuid+'-table').dataTable... @@ -71,7 +72,7 @@ bInfo : false, sScrollX : '100%', // Horizontal scrolling sScrollY : '200px', - bJQueryUI : true, // Use jQuery UI + //bJQueryUI : true, // Use jQuery UI bProcessing : true, // Loading aaSorting : [[ 1, "asc" ]], // sort by column fields on load aoColumnDefs: [ diff --git a/plugins/query_editor/query_editor.html b/plugins/query_editor/static/query_editor.html similarity index 76% rename from plugins/query_editor/query_editor.html rename to plugins/query_editor/static/query_editor.html index e366a646..930053c6 100644 --- a/plugins/query_editor/query_editor.html +++ b/plugins/query_editor/static/query_editor.html @@ -8,9 +8,10 @@ EOF; EOF; -->
- +
+ @@ -24,10 +25,11 @@ EOF; --> {% for field in fields %} - - - - + + + + + @@ -38,4 +40,3 @@ EOF; -->
Info Field Resource Type
{{ field.name }} {{ field.resource_type }} {{ field.type }} {{ field.filter_input }}{{ field.name }}{{ field.resource_type }}{{ field.type }}{{ field.filter_input }}
- diff --git a/plugins/querycode/querycode.css b/plugins/querycode/static/css/querycode.css similarity index 100% rename from plugins/querycode/querycode.css rename to plugins/querycode/static/css/querycode.css diff --git a/plugins/querycode/querycode.js b/plugins/querycode/static/js/querycode.js similarity index 100% rename from plugins/querycode/querycode.js rename to plugins/querycode/static/js/querycode.js diff --git a/plugins/querycode/querycode.html b/plugins/querycode/static/querycode.html similarity index 100% rename from plugins/querycode/querycode.html rename to plugins/querycode/static/querycode.html diff --git a/plugins/quickfilter/quickfilter.css b/plugins/quickfilter/static/css/quickfilter.css similarity index 100% rename from plugins/quickfilter/quickfilter.css rename to plugins/quickfilter/static/css/quickfilter.css diff --git a/plugins/quickfilter/quickfilter.js b/plugins/quickfilter/static/js/quickfilter.js similarity index 100% rename from plugins/quickfilter/quickfilter.js rename to plugins/quickfilter/static/js/quickfilter.js diff --git a/plugins/quickfilter/quickfilter.html b/plugins/quickfilter/static/quickfilter.html similarity index 100% rename from plugins/quickfilter/quickfilter.html rename to plugins/quickfilter/static/quickfilter.html diff --git a/plugins/resources_selected/resources_selected.css b/plugins/resources_selected/static/css/resources_selected.css similarity index 100% rename from plugins/resources_selected/resources_selected.css rename to plugins/resources_selected/static/css/resources_selected.css diff --git a/plugins/resources_selected/resources_selected.js b/plugins/resources_selected/static/js/resources_selected.js similarity index 100% rename from plugins/resources_selected/resources_selected.js rename to plugins/resources_selected/static/js/resources_selected.js diff --git a/plugins/resources_selected/templates/resources_selected.html b/plugins/resources_selected/static/resources_selected.html similarity index 100% rename from plugins/resources_selected/templates/resources_selected.html rename to plugins/resources_selected/static/resources_selected.html diff --git a/plugins/senslabmap/senslabmap.css b/plugins/senslabmap/static/css/senslabmap.css similarity index 100% rename from plugins/senslabmap/senslabmap.css rename to plugins/senslabmap/static/css/senslabmap.css diff --git a/plugins/senslabmap/grenoble.js b/plugins/senslabmap/static/js/grenoble.js similarity index 100% rename from plugins/senslabmap/grenoble.js rename to plugins/senslabmap/static/js/grenoble.js diff --git a/plugins/senslabmap/senslabmap.js b/plugins/senslabmap/static/js/senslabmap.js similarity index 100% rename from plugins/senslabmap/senslabmap.js rename to plugins/senslabmap/static/js/senslabmap.js diff --git a/plugins/senslabmap/three.js b/plugins/senslabmap/static/js/three.js similarity index 100% rename from plugins/senslabmap/three.js rename to plugins/senslabmap/static/js/three.js diff --git a/plugins/senslabmap/viewer3D.js b/plugins/senslabmap/static/js/viewer3D.js similarity index 100% rename from plugins/senslabmap/viewer3D.js rename to plugins/senslabmap/static/js/viewer3D.js diff --git a/plugins/senslabmap/senslabmap.html b/plugins/senslabmap/static/senslabmap.html similarity index 100% rename from plugins/senslabmap/senslabmap.html rename to plugins/senslabmap/static/senslabmap.html diff --git a/plugins/stack/stack.html b/plugins/stack/static/stack.html similarity index 100% rename from plugins/stack/stack.html rename to plugins/stack/static/stack.html diff --git a/plugins/tabs/tabs.css b/plugins/tabs/static/css/tabs.css similarity index 100% rename from plugins/tabs/tabs.css rename to plugins/tabs/static/css/tabs.css diff --git a/plugins/tabs/tabs.js b/plugins/tabs/static/js/tabs.js similarity index 100% rename from plugins/tabs/tabs.js rename to plugins/tabs/static/js/tabs.js diff --git a/plugins/tabs/tabs.html b/plugins/tabs/static/tabs.html similarity index 100% rename from plugins/tabs/tabs.html rename to plugins/tabs/static/tabs.html diff --git a/plugins/updater/updater.css b/plugins/updater/static/css/updater.css similarity index 100% rename from plugins/updater/updater.css rename to plugins/updater/static/css/updater.css diff --git a/plugins/updater/updater.js b/plugins/updater/static/js/updater.js similarity index 100% rename from plugins/updater/updater.js rename to plugins/updater/static/js/updater.js diff --git a/plugins/updater/updater.html b/plugins/updater/static/updater.html similarity index 100% rename from plugins/updater/updater.html rename to plugins/updater/static/updater.html diff --git a/plugins/wizard/wizard.css b/plugins/wizard/static/css/wizard.css similarity index 100% rename from plugins/wizard/wizard.css rename to plugins/wizard/static/css/wizard.css diff --git a/plugins/wizard/wizard.js b/plugins/wizard/static/js/wizard.js similarity index 100% rename from plugins/wizard/wizard.js rename to plugins/wizard/static/js/wizard.js diff --git a/plugins/wizard/test.html b/plugins/wizard/static/test.html similarity index 100% rename from plugins/wizard/test.html rename to plugins/wizard/static/test.html diff --git a/plugins/wizard/wizard.html b/plugins/wizard/static/wizard.html similarity index 100% rename from plugins/wizard/wizard.html rename to plugins/wizard/static/wizard.html diff --git a/unfold/static.py b/unfold/static.py new file mode 100644 index 00000000..815e8e22 --- /dev/null +++ b/unfold/static.py @@ -0,0 +1,101 @@ +import os +from django.conf import settings +from django.utils.datastructures import SortedDict +from django.contrib.staticfiles.finders import BaseFinder, FileSystemFinder +from django.core.files.storage import FileSystemStorage + +class PluginFinder(FileSystemFinder): + """ + A static files finder that looks in the directory of each plugin as + specified in the source_dir attribute of the given storage class. + """ + def __init__(self, *args, **kwargs): + # The list of plugins that are handled + self.locations = [] + # Mapping of plugin module paths to storage instances + self.storages = SortedDict() + plugins_dir = self.get_immediate_subdirs(settings.PLUGIN_DIR) + for root in plugins_dir: + if not os.path.exists(root) or not os.path.isdir(root): + continue + if ('', root) not in self.locations: + self.locations.append(('', root)) + for _, root in self.locations: + filesystem_storage = FileSystemStorage(location=root) + filesystem_storage.prefix = '' + self.storages[root] = filesystem_storage + + def get_immediate_subdirs(self, dir): + return [os.path.join(dir, name, 'static') for name in os.listdir(dir) + if os.path.isdir(os.path.join(dir, name))] + +class ThirdPartyFinder(BaseFinder): + """ + A static files inder that looks in the directory of each third-party + resources and tries to preserve the location of each file + """ + # third-party/MODULE/path/to/js + extensions = { + # PREFIX : EXTENSIONS + '' : ('.html',), + 'js' : ('.js',), + 'css': ('.css',), + 'img': ('.png', '.ico',), + } + + def find(self, search_path, all=False): + """ + Given a relative file path this ought to find an + absolute file path. + + If the ``all`` parameter is ``False`` (default) only + the first found file path will be returned; if set + to ``True`` a list of all found files paths is returned. + """ + matches = [] + #all_extensions = reduce(lambda x,y : x + y, extensions.values()) + + for (path, dirs, files) in os.walk(settings.THIRDPARTY_DIR): + for file in files: + name, extension = os.path.splitext(file) + + for type, extensions in self.extensions.items(): + if not extension in extensions: + continue + if search_path == os.path.join(type, file): + matched_path = os.path.join(path, file) + if not all: + return matched_path + matches.append(matched_path) + return matches + + def list(self, ignore_patterns): + """ + Given an optional list of paths to ignore, this should return + a two item iterable consisting of the relative path and storage + instance. + """ + for (path, dirs, files) in os.walk(settings.THIRDPARTY_DIR): + for file in files: + name, extension = os.path.splitext(file) + + for type, extensions in self.extensions.items(): + if not extension in extensions: + continue + filesystem_storage = FileSystemStorage(location=path) + filesystem_storage.prefix = type + yield file, filesystem_storage + +class BaseFinder(object): + """ + A base file finder to be used for custom staticfiles finder classes. + """ + + def list(self, ignore_patterns): + """ + Given an optional list of paths to ignore, this should return + a two item iterable consisting of the relative path and storage + instance. + """ + raise NotImplementedError() + -- 2.43.0