This is an automated email from the ASF dual-hosted git repository.

gcruz pushed a commit to branch gc/8472
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 5f8f13c03d16a0a1da5c9774b7d4b0cbc3b872ce
Author: Guillermo Cruz <[email protected]>
AuthorDate: Wed Oct 5 16:32:59 2022 -0600

    [#8472] update on how query is constructed
---
 ForgeActivity/forgeactivity/main.py | 32 +++++++++-----------------------
 1 file changed, 9 insertions(+), 23 deletions(-)

diff --git a/ForgeActivity/forgeactivity/main.py 
b/ForgeActivity/forgeactivity/main.py
index f6f927383..9e9ea96d1 100644
--- a/ForgeActivity/forgeactivity/main.py
+++ b/ForgeActivity/forgeactivity/main.py
@@ -257,32 +257,18 @@ class ForgeActivityController(BaseController):
         # but only within a small time window, so we can do efficient searching
         activity_ts = activity._id.generation_time
         time_window = timedelta(hours=1)
-        log.info(f"Time Window - {time_window} Activity TS {activity_ts}")
-        log.info(f"plus 1 hr {activity_ts + time_window}")
-        log.info(f"minus 1 hr {activity_ts - time_window}")
-        all_copies = Activity.query.find({
+        query = {
             '_id': {
                 '$gt': ObjectId.from_datetime(activity_ts - time_window),
                 '$lt': ObjectId.from_datetime(activity_ts + time_window),
-            },
-            'obj': activity.obj,
-            'target': activity.target,
-            'actor': activity.actor,
-            'verb': activity.verb,
-            'tags': activity.tags,
-        }).all()
-        log.info("Delete Activity Query")
-        log.info({
-            '_id': {
-                '$gt': ObjectId.from_datetime(activity_ts - time_window),
-                '$lt': ObjectId.from_datetime(activity_ts + time_window),
-            },
-            'obj': activity.obj,
-            'target': activity.target,
-            'actor': activity.actor,
-            'verb': activity.verb,
-            'tags': activity.tags,
-        })
+            }
+        }
+        query.update(variable_encode(activity.obj, prepend='obj'))
+        query.update(variable_encode(activity.target, prepend='target'))
+        query.update(variable_encode(activity.actor, prepend='actor'))
+        query.update(verb=activity.verb)
+        query.update(tags=activity.tags)
+        all_copies = Activity.query.find(query).all()
         log.info('Deleting %s copies of activity record: %s %s %s', 
len(all_copies),
                  activity.actor.activity_url, activity.verb, 
activity.obj.activity_url)
         for activity in all_copies:

Reply via email to