From 267126234a1ba0db921314ffa9173579f51ab7ba Mon Sep 17 00:00:00 2001
From: Andrew Engelbrecht
Date: Mon, 6 Mar 2017 15:24:14 -0500
Subject: [PATCH 1/3] Add media tagged "featured" to the front page
---
mediagoblin_libreplanet/__init__.py | 8 ++++++--
.../templates/libreplanet/root.html | 14 ++++++++++++++
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/mediagoblin_libreplanet/__init__.py b/mediagoblin_libreplanet/__init__.py
index 09ded6c..9caf1c2 100644
--- a/mediagoblin_libreplanet/__init__.py
+++ b/mediagoblin_libreplanet/__init__.py
@@ -60,13 +60,17 @@ def lp_media_for_type(db, type, tag=None):
@user_not_banned
def frontpage_view(request):
- images = lp_media_for_type(request.db, u'mediagoblin.media_types.image')
- videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video')
+ images = lp_media_for_type(request.db, u'mediagoblin.media_types.image')
+ videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video')
+ featured_images = lp_media_for_type(request.db, u'mediagoblin.media_types.image', "featured")
+ featured_videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video', "featured")
return render_to_response(
request, 'libreplanet/root.html',
{'images': images,
'videos': videos,
+ 'featured_images': featured_images,
+ 'featured_videos': featured_videos,
'allow_registration': mg_globals.app_config["allow_registration"]})
def frontpage_view_hook():
diff --git a/mediagoblin_libreplanet/templates/libreplanet/root.html b/mediagoblin_libreplanet/templates/libreplanet/root.html
index c67f296..746abf4 100644
--- a/mediagoblin_libreplanet/templates/libreplanet/root.html
+++ b/mediagoblin_libreplanet/templates/libreplanet/root.html
@@ -44,6 +44,20 @@
+ {% trans %}Featured Videos{% endtrans %}
+ {{ media_grid(request, featured_videos) }}
+
+
+ View all featured videos
+
+
+ {% trans %}Featured Photos{% endtrans %}
+ {{ media_grid(request, featured_photos) }}
+
+
+ View all featured photos
+
+
{% trans %}Videos{% endtrans %}
{{ media_grid(request, videos) }}
From 2cfcf16b213070c0278dd36a6061125b2cde3421 Mon Sep 17 00:00:00 2001
From: Andrew Engelbrecht
Date: Mon, 6 Mar 2017 15:29:06 -0500
Subject: [PATCH 2/3] reduce the number of featured items on home page
it is now also possible to change the number displayed with a distinct
setting at the top of the __init__.py file.
---
mediagoblin_libreplanet/__init__.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/mediagoblin_libreplanet/__init__.py b/mediagoblin_libreplanet/__init__.py
index 9caf1c2..fb7375c 100644
--- a/mediagoblin_libreplanet/__init__.py
+++ b/mediagoblin_libreplanet/__init__.py
@@ -35,6 +35,7 @@ SUPPORTED_LICENSES[cc_by_sa_4.uri] = cc_by_sa_4
PLUGIN_DIR = os.path.dirname(__file__)
MAX_HOME_ITEMS = 20
+MAX_HOME_FEATURED_ITEMS = 10
_log = logging.getLogger(__name__)
@@ -46,7 +47,7 @@ def setup_plugin():
# Register the template path.
register_template_path(os.path.join(PLUGIN_DIR, 'templates'))
-def lp_media_for_type(db, type, tag=None):
+def lp_media_for_type(db, type, tag=None, max_items=MAX_HOME_ITEMS):
if (tag == None):
cursor = MediaEntry.query
else:
@@ -56,14 +57,14 @@ def lp_media_for_type(db, type, tag=None):
filter((MediaEntry.media_type == type)
& (MediaEntry.state == u'processed')).\
order_by(MediaEntry.created.desc()).\
- limit(MAX_HOME_ITEMS)
+ limit(max_items)
@user_not_banned
def frontpage_view(request):
images = lp_media_for_type(request.db, u'mediagoblin.media_types.image')
videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video')
- featured_images = lp_media_for_type(request.db, u'mediagoblin.media_types.image', "featured")
- featured_videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video', "featured")
+ featured_images = lp_media_for_type(request.db, u'mediagoblin.media_types.image', "featured", MAX_HOME_FEATURED_ITEMS)
+ featured_videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video', "featured", MAX_HOME_FEATURED_ITEMS)
return render_to_response(
request, 'libreplanet/root.html',
From ae3cb218ee1e4dcf8bd955a70f427081032d476c Mon Sep 17 00:00:00 2001
From: Andrew Engelbrecht
Date: Mon, 6 Mar 2017 15:31:49 -0500
Subject: [PATCH 3/3] set name of the featured tag at top of the file
this separates some data from logic
---
mediagoblin_libreplanet/__init__.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/mediagoblin_libreplanet/__init__.py b/mediagoblin_libreplanet/__init__.py
index fb7375c..03e63d3 100644
--- a/mediagoblin_libreplanet/__init__.py
+++ b/mediagoblin_libreplanet/__init__.py
@@ -34,8 +34,10 @@ SORTED_LICENSES.insert(1, cc_by_sa_4)
SUPPORTED_LICENSES[cc_by_sa_4.uri] = cc_by_sa_4
PLUGIN_DIR = os.path.dirname(__file__)
+
MAX_HOME_ITEMS = 20
MAX_HOME_FEATURED_ITEMS = 10
+FEATURED_TAG = "featured"
_log = logging.getLogger(__name__)
@@ -63,8 +65,8 @@ def lp_media_for_type(db, type, tag=None, max_items=MAX_HOME_ITEMS):
def frontpage_view(request):
images = lp_media_for_type(request.db, u'mediagoblin.media_types.image')
videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video')
- featured_images = lp_media_for_type(request.db, u'mediagoblin.media_types.image', "featured", MAX_HOME_FEATURED_ITEMS)
- featured_videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video', "featured", MAX_HOME_FEATURED_ITEMS)
+ featured_images = lp_media_for_type(request.db, u'mediagoblin.media_types.image', FEATURED_TAG, MAX_HOME_FEATURED_ITEMS)
+ featured_videos = lp_media_for_type(request.db, u'mediagoblin.media_types.video', FEATURED_TAG, MAX_HOME_FEATURED_ITEMS)
return render_to_response(
request, 'libreplanet/root.html',