From d39b8570cc00748a0353943a14f63fa66d826dd8 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Tue, 16 Aug 2016 19:57:41 +0200 Subject: [PATCH] Only search in last 3 days feed items to speed up queries a little bit --- plugins/Newsfeed/NewsfeedPlugin.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/Newsfeed/NewsfeedPlugin.py b/plugins/Newsfeed/NewsfeedPlugin.py index f46d8584..9a0e4de0 100644 --- a/plugins/Newsfeed/NewsfeedPlugin.py +++ b/plugins/Newsfeed/NewsfeedPlugin.py @@ -29,6 +29,18 @@ class UiWebsocketPlugin(object): site = SiteManager.site_manager.get(address) try: query, params = query_set + query_parts = query.split("UNION") + for i, query_part in enumerate(query_parts): + db_query = DbQuery(query_part) + where = " WHERE %s > strftime('%%s', 'now', '-3 day')" % db_query.fields.get("date_added", "date_added") + if "WHERE" in query_part: + query_part = query_part.replace("WHERE ", where+" AND (") + query_part += ") " + else: + query_part += where + query_parts[i] = query_part + query = " UNION ".join(query_parts) + if ":params" in query: query = query.replace(":params", ",".join(["?"] * len(params))) res = site.storage.query(query + " ORDER BY date_added DESC LIMIT 10", params)