From 728ee1df3c7f6913e2462bbbb8388d12a580ee23 Mon Sep 17 00:00:00 2001 From: Boris Bobrov Date: Mon, 1 Feb 2016 00:28:32 +0100 Subject: added a plugin to display information about entries in processing Conflicts: mediagoblin/templates/mediagoblin/base.html -- resolved by using the original file and manually adding pieces from my commit --- mediagoblin/plugins/processing_info/README.rst | 5 +++ mediagoblin/plugins/processing_info/__init__.py | 50 ++++++++++++++++++++++ .../mediagoblin/processing_info/header_left.html | 32 ++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 mediagoblin/plugins/processing_info/README.rst create mode 100644 mediagoblin/plugins/processing_info/__init__.py create mode 100644 mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html (limited to 'mediagoblin/plugins/processing_info') diff --git a/mediagoblin/plugins/processing_info/README.rst b/mediagoblin/plugins/processing_info/README.rst new file mode 100644 index 00000000..3bacbf50 --- /dev/null +++ b/mediagoblin/plugins/processing_info/README.rst @@ -0,0 +1,5 @@ +============== + sampleplugin +============== + +A plugin to insert some useful information about processing to templates diff --git a/mediagoblin/plugins/processing_info/__init__.py b/mediagoblin/plugins/processing_info/__init__.py new file mode 100644 index 00000000..f89378fe --- /dev/null +++ b/mediagoblin/plugins/processing_info/__init__.py @@ -0,0 +1,50 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program 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. +# +# This program 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 this program. If not, see . + + +import logging +import os + +from mediagoblin.tools.pluginapi import get_config +from mediagoblin.db.models import MediaEntry +from mediagoblin.tools import pluginapi + +_log = logging.getLogger(__name__) + +PLUGIN_DIR = os.path.dirname(__file__) + +def setup_plugin(): + pluginapi.register_template_path(os.path.join(PLUGIN_DIR, 'templates')) + pluginapi.register_template_hooks( + {'header_left': 'mediagoblin/processing_info/header_left.html'}) + return + +def make_stats(context): + request = context['request'] + user = request.user + num_queued = MediaEntry.query.filter_by( + uploader=user.id, state=u'processing').count() + context['num_queued'] = num_queued + num_failed = MediaEntry.query.filter_by( + uploader=user.id, state=u'failed').count() + context['num_failed'] = num_failed + return context + + +hooks = { + 'setup': setup_plugin, + 'template_context_prerender': make_stats + } diff --git a/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html b/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html new file mode 100644 index 00000000..d635afce --- /dev/null +++ b/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html @@ -0,0 +1,32 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program 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. +# +# This program 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 this program. If not, see . +#} +{#This injects some information about entries in processing #} +{% if request.user and request.user.has_privilege('active') %} +{% if num_queued is defined and num_queued != 0 %} +{% set panel_url = request.urlgen('mediagoblin.user_pages.processing_panel', + user=request.user.username) %} + + ⏳ {{ num_queued }} + +{% endif %} +{% if num_failed is defined and num_failed != 0 %} + + ☹ {{ num_failed }} + +{% endif %} +{% endif %} -- cgit v1.2.3 From 906a00b6679fc7940262dde48467b102894fa9fe Mon Sep 17 00:00:00 2001 From: Boris Bobrov Date: Sat, 16 Aug 2014 17:41:37 +0300 Subject: added filtering by entry state in processing panel --- .../templates/mediagoblin/processing_info/header_left.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'mediagoblin/plugins/processing_info') diff --git a/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html b/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html index d635afce..1d5e724d 100644 --- a/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html +++ b/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html @@ -18,15 +18,15 @@ {#This injects some information about entries in processing #} {% if request.user and request.user.has_privilege('active') %} {% if num_queued is defined and num_queued != 0 %} -{% set panel_url = request.urlgen('mediagoblin.user_pages.processing_panel', - user=request.user.username) %} - ⏳ {{ num_queued }} + ⏳ {{ num_queued }} {% endif %} {% if num_failed is defined and num_failed != 0 %} - ☹ {{ num_failed }} + ☹ {{ num_failed }} {% endif %} {% endif %} -- cgit v1.2.3 From db6cc0c0613f324b062e2c396fec6f26c504e362 Mon Sep 17 00:00:00 2001 From: Boris Bobrov Date: Mon, 1 Feb 2016 00:35:42 +0100 Subject: Change `uploader` to `actor` Class User doesn't have field `uploader` any more, instead there `actor`. Fix several uses of `uploader` to `actor`. --- mediagoblin/plugins/processing_info/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mediagoblin/plugins/processing_info') diff --git a/mediagoblin/plugins/processing_info/__init__.py b/mediagoblin/plugins/processing_info/__init__.py index f89378fe..e5ce0a1c 100644 --- a/mediagoblin/plugins/processing_info/__init__.py +++ b/mediagoblin/plugins/processing_info/__init__.py @@ -36,13 +36,13 @@ def make_stats(context): request = context['request'] user = request.user num_queued = MediaEntry.query.filter_by( - uploader=user.id, state=u'processing').count() + actor=user.id, state=u'processing').count() context['num_queued'] = num_queued num_failed = MediaEntry.query.filter_by( - uploader=user.id, state=u'failed').count() + actor=user.id, state=u'failed').count() context['num_failed'] = num_failed return context - + hooks = { 'setup': setup_plugin, -- cgit v1.2.3