This is an automated email from the ASF dual-hosted git repository.
brondsem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git
The following commit(s) were added to refs/heads/master by this push:
new 6e686f31a [#8472] update on how query is constructed, since mongo
cares about dict order, but we don't here
6e686f31a is described below
commit 6e686f31a2a58dd9b7688a3edc33f562c341cf71
Author: Guillermo Cruz <[email protected]>
AuthorDate: Wed Oct 5 16:32:59 2022 -0600
[#8472] update on how query is constructed, since mongo cares about dict
order, but we don't here
---
ForgeActivity/forgeactivity/main.py | 34 +++++++++++-----------------------
1 file changed, 11 insertions(+), 23 deletions(-)
diff --git a/ForgeActivity/forgeactivity/main.py
b/ForgeActivity/forgeactivity/main.py
index f6f927383..30a2bdd41 100644
--- a/ForgeActivity/forgeactivity/main.py
+++ b/ForgeActivity/forgeactivity/main.py
@@ -42,6 +42,8 @@ from allura.lib import helpers as h
from allura.lib.decorators import require_post
from allura.lib.widgets.form_fields import PageList
from allura.ext.user_profile import ProfileSectionBase
+from formencode.variabledecode import variable_encode
+
from .widgets.follow import FollowToggle
import re
@@ -257,32 +259,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({
- '_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({
+ 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,
- })
+ }
+ }
+ 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: