__init__.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # GNU MediaGoblin -- federated, autonomous media hosting
  2. # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
  3. #
  4. # This program is free software: you can redistribute it and/or modify
  5. # it under the terms of the GNU Affero General Public License as published by
  6. # the Free Software Foundation, either version 3 of the License, or
  7. # (at your option) any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU Affero General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU Affero General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. import logging
  17. import os
  18. from mediagoblin.tools.pluginapi import get_config
  19. from mediagoblin.db.models import MediaEntry
  20. from mediagoblin.tools import pluginapi
  21. _log = logging.getLogger(__name__)
  22. PLUGIN_DIR = os.path.dirname(__file__)
  23. def setup_plugin():
  24. pluginapi.register_template_path(os.path.join(PLUGIN_DIR, 'templates'))
  25. pluginapi.register_template_hooks(
  26. {'header_left': 'mediagoblin/processing_info/header_left.html'})
  27. return
  28. def make_stats(context):
  29. request = context['request']
  30. user = request.user
  31. if user:
  32. num_queued = MediaEntry.query.filter_by(
  33. actor=user.id, state=u'processing').count()
  34. context['num_queued'] = num_queued
  35. num_failed = MediaEntry.query.filter_by(
  36. actor=user.id, state=u'failed').count()
  37. context['num_failed'] = num_failed
  38. return context
  39. hooks = {
  40. 'setup': setup_plugin,
  41. 'template_context_prerender': make_stats
  42. }