From a356d74359e0419a0fd0315b19f3f70fc0723b90 Mon Sep 17 00:00:00 2001 From: Andrew Engelbrecht Date: Wed, 8 Mar 2017 12:57:13 -0500 Subject: [PATCH] query with lowercase tags + use dashes in tags i don't recall where exactly i was seeing an issue with tag case before, but if one queries with exclusively lowercase tags, then uppercase tags will be included too. note that the reverse is not true. --- mediagoblin_libreplanet/__init__.py | 8 ++++---- mediagoblin_libreplanet/lp_helper.py | 29 ---------------------------- mediagoblin_libreplanet/views.py | 3 --- 3 files changed, 4 insertions(+), 36 deletions(-) delete mode 100644 mediagoblin_libreplanet/lp_helper.py diff --git a/mediagoblin_libreplanet/__init__.py b/mediagoblin_libreplanet/__init__.py index d363dcd..d9c8716 100644 --- a/mediagoblin_libreplanet/__init__.py +++ b/mediagoblin_libreplanet/__init__.py @@ -21,7 +21,6 @@ from mediagoblin import mg_globals from mediagoblin.tools.pluginapi import get_config, register_template_path, register_routes from mediagoblin.db.models import MediaEntry from mediagoblin.db.util import media_entries_for_tag_slug -from lp_helper import media_entries_for_tag_slug_case_insensitive from mediagoblin.tools.pagination import Pagination from mediagoblin.tools.response import render_to_response from mediagoblin.tools.licenses import SORTED_LICENSES, SUPPORTED_LICENSES, License @@ -40,8 +39,11 @@ MAX_HOME_ITEMS = 20 MAX_HOME_FEATURED_ITEMS = 10 MAX_HOME_LP_ITEMS = 10 +# make tags lowercase and use dashes in place of spaces. +# uppercase tags will be included by the lowercase form. FEATURED_TAG = "featured" -LATEST_LP_VIDEO_TAG = "LibrePlanet 2016 video" +LATEST_LP_VIDEO_TAG = "libreplanet-2016-video" + _log = logging.getLogger(__name__) @@ -57,8 +59,6 @@ def lp_media_for_type(db, type, tag=None, max_items=MAX_HOME_ITEMS): if (tag == None): cursor = MediaEntry.query else: - ## case insensitive tag search is not working yet -- sudoman - #cursor = media_entries_for_tag_slug_case_insensitive(db, tag) cursor = media_entries_for_tag_slug(db, tag) return cursor.\ diff --git a/mediagoblin_libreplanet/lp_helper.py b/mediagoblin_libreplanet/lp_helper.py deleted file mode 100644 index 63d1304..0000000 --- a/mediagoblin_libreplanet/lp_helper.py +++ /dev/null @@ -1,29 +0,0 @@ -# MediaGoblin for LibrePlanet -# -# Based on code from MediaGoblin -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# Copyright (C) 2017 Andrew Engelbrecht -# -# 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 . - -from mediagoblin.db.models import MediaEntry, Tag, MediaTag - -def media_entries_for_tag_slug_case_insensitive(dummy_db, tag_slug): - return MediaEntry.query \ - .join(MediaEntry.tags_helper) \ - .join(MediaTag.tag_helper) \ - .filter( - (MediaEntry.state == u'processed') - & (Tag.slug.lower() == tag_slug.lower())) # Tag.slug.lower() currently doesn't work. - diff --git a/mediagoblin_libreplanet/views.py b/mediagoblin_libreplanet/views.py index b9cbe7c..4163f8e 100644 --- a/mediagoblin_libreplanet/views.py +++ b/mediagoblin_libreplanet/views.py @@ -17,7 +17,6 @@ from mediagoblin import mg_globals from mediagoblin.db.models import MediaEntry from mediagoblin.db.util import media_entries_for_tag_slug -from lp_helper import media_entries_for_tag_slug_case_insensitive from mediagoblin.tools.pagination import Pagination from mediagoblin.tools.response import render_to_response from mediagoblin.decorators import uses_pagination @@ -26,8 +25,6 @@ def type_listing(media_type, title, request, page, tag=None): if (tag == None): cursor = MediaEntry.query else: - ## case insensitive tag search is not working yet -- sudoman - #cursor = media_entries_for_tag_slug_case_insensitive(request.db, tag) cursor = media_entries_for_tag_slug(request.db, tag) cursor = cursor.\ -- 2.25.1