pdf/processing: avoid possible dead goblin if pdfinfo failed
[mediagoblin.git] / mediagoblin / views.py
index ecf5b7239b6d8109014647185033eefd2c5474af..4185c1b695870176d7d956a5b98de01f986faad6 100644 (file)
@@ -1,5 +1,5 @@
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 MediaGoblin contributors.  See AUTHORS.
+# 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
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 from mediagoblin import mg_globals
+from mediagoblin.db.models import MediaEntry
 from mediagoblin.tools.pagination import Pagination
-from mediagoblin.tools.response import render_to_response
-from mediagoblin.db.util import DESCENDING
-from mediagoblin.decorators import uses_pagination
+from mediagoblin.tools.response import render_to_response, render_404
+from mediagoblin.decorators import uses_pagination, user_not_banned
 
 
+@user_not_banned
 @uses_pagination
 def root_view(request, page):
-    cursor = request.db.MediaEntry.find(
-        {u'state': u'processed'}).sort('created', DESCENDING)
+    cursor = MediaEntry.query.filter_by(state=u'processed').\
+        order_by(MediaEntry.created.desc())
 
     pagination = Pagination(page, cursor)
     media_entries = pagination()
-
     return render_to_response(
         request, 'mediagoblin/root.html',
         {'media_entries': media_entries,
@@ -44,3 +44,10 @@ def simple_template_render(request):
     template_name = request.matchdict['template']
     return render_to_response(
         request, template_name, {})
+
+def terms_of_service(request):
+    if mg_globals.app_config["show_tos"] is False:
+        return render_404(request)
+
+    return render_to_response(request,
+        'mediagoblin/terms_of_service.html', {})