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

dill0wn pushed a commit to branch dw/8565
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 5d951c155bd04f60f26953abb6c96a9352ebc66d
Author: Dillon Walls <[email protected]>
AuthorDate: Tue Jun 18 18:21:38 2024 -0400

    update ming calls from find_and_modify to find_one_and_update
---
 Allura/allura/lib/custom_middleware.py    |  5 +++--
 Allura/allura/model/auth.py               |  6 +++---
 Allura/allura/model/monq_model.py         |  6 +++---
 Allura/allura/model/notification.py       | 13 ++++++-------
 Allura/allura/model/repository.py         |  6 +++---
 ForgeImporters/forgeimporters/base.py     | 12 ++++++------
 ForgeTracker/forgetracker/model/ticket.py |  6 +++---
 7 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/Allura/allura/lib/custom_middleware.py 
b/Allura/allura/lib/custom_middleware.py
index 4b2e5e1f5..c81c5a11d 100644
--- a/Allura/allura/lib/custom_middleware.py
+++ b/Allura/allura/lib/custom_middleware.py
@@ -326,7 +326,8 @@ class AlluraTimerMiddleware(TimerMiddleware):
                   debug_each_call=False),
             Timer('ming', ming.odm.odmsession.ODMSession,
                   'insert_now', 'update_now', 'delete_now',
-                  'find', 'find_and_modify', 'remove', 'update', 
'update_if_not_modified',
+                  'find', 'find_one_and_update', 'find_one_and_replace', 
'find_one_and_delete', 
+                  'remove', 'update', 'update_if_not_modified',
                   'aggregate', 'group', 'map_reduce', 'inline_map_reduce', 
'distinct',
                   ),
             # Timer('ming', ming.schema.Document, 'validate',
@@ -336,7 +337,7 @@ class AlluraTimerMiddleware(TimerMiddleware):
             #       debug_each_call=False),
             Timer('mongo', pymongo.collection.Collection, 'count', 'find',
                   'find_one', 'aggregate', 'group', 'map_reduce',
-                  'inline_map_reduce', 'find_and_modify',
+                  'inline_map_reduce', 'find_one_and_update', 
'find_one_and_replace', 'find_one_and_delete', 
                   'insert', 'save', 'update', 'remove', 'drop'),
             Timer('mongo', pymongo.cursor.Cursor, 'count', 'distinct',
                   '_refresh'),
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index 0b73f1b34..17818c829 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -217,9 +217,9 @@ class AuthGlobals(MappedClass):
     @classmethod
     def get_next_uid(cls):
         cls.upsert()
-        g = cls.query.find_and_modify(
-            query={}, update={'$inc': {'next_uid': 1}},
-            new=True)
+        g = cls.query.find_one_and_update(
+            {}, update={'$inc': {'next_uid': 1}},
+            return_document=True)
         return g.next_uid
 
 
diff --git a/Allura/allura/model/monq_model.py 
b/Allura/allura/model/monq_model.py
index 61ea3d863..4dbc532dc 100644
--- a/Allura/allura/model/monq_model.py
+++ b/Allura/allura/model/monq_model.py
@@ -199,14 +199,14 @@ class MonQTask(MappedClass):
                 query['time_queue'] = {'$lte': datetime.utcnow()}
                 if only:
                     query['task_name'] = {'$in': only}
-                obj = cls.query.find_and_modify(
-                    query=query,
+                obj = cls.query.find_one_and_update(
+                    query,
                     update={
                         '$set': dict(
                             state='busy',
                             process=process)
                     },
-                    new=True,
+                    return_document=True,
                     sort=cls.sort)
                 if obj is not None:
                     return obj
diff --git a/Allura/allura/model/notification.py 
b/Allura/allura/model/notification.py
index 2bd205d35..5b08cf1e8 100644
--- a/Allura/allura/model/notification.py
+++ b/Allura/allura/model/notification.py
@@ -592,13 +592,12 @@ class Mailbox(MappedClass):
             next_scheduled={'$lt': now})
 
         def find_and_modify_direct_mbox():
-            return cls.query.find_and_modify(
-                query=q_direct,
+            return cls.query.find_one_and_update(
+                q_direct,
                 update={'$set': dict(
                     queue=[],
                     queue_empty=True,
-                )},
-                new=False)
+                )})
 
         for mbox in take_while_true(find_and_modify_direct_mbox):
             try:
@@ -618,14 +617,14 @@ class Mailbox(MappedClass):
                 next_scheduled += timedelta(days=7 * mbox.frequency.n)
             elif mbox.frequency.unit == 'month':
                 next_scheduled += timedelta(days=30 * mbox.frequency.n)
-            mbox = cls.query.find_and_modify(
-                query=dict(_id=mbox._id),
+            mbox = cls.query.find_one_and_update(
+                dict(_id=mbox._id),
                 update={'$set': dict(
                         next_scheduled=next_scheduled,
                         queue=[],
                         queue_empty=True,
                         )},
-                new=False)
+                )
             mbox.fire(now)
 
     def fire(self, now):
diff --git a/Allura/allura/model/repository.py 
b/Allura/allura/model/repository.py
index c947ec1b3..e51cdcd60 100644
--- a/Allura/allura/model/repository.py
+++ b/Allura/allura/model/repository.py
@@ -1072,10 +1072,10 @@ class CommitStatus(MappedClass):
 
     @classmethod
     def upsert(cls, **kw):
-        obj = cls.query.find_and_modify(
-            query=dict(commit_id=kw.get('commit_id'), 
context=kw.get('context')),
+        obj = cls.query.find_one_and_update(
+            dict(commit_id=kw.get('commit_id'), context=kw.get('context')),
             update={'$set': kw},
-            new=True,
+            return_document=True,
             upsert=True,
         )
         return obj
diff --git a/ForgeImporters/forgeimporters/base.py 
b/ForgeImporters/forgeimporters/base.py
index 1087bdc40..db14405df 100644
--- a/ForgeImporters/forgeimporters/base.py
+++ b/ForgeImporters/forgeimporters/base.py
@@ -466,8 +466,8 @@ class ToolImporter(metaclass=ToolImporterMeta):
         """
         limit = config.get('tool_import.rate_limit', 1)
         pending_key = 'tool_data.%s.pending' % self.classname
-        modified_project = M.Project.query.find_and_modify(
-            query={
+        modified_project = M.Project.query.find_one_and_update(
+            {
                 '_id': project._id,
                 '$or': [
                     {pending_key: None},
@@ -475,7 +475,7 @@ class ToolImporter(metaclass=ToolImporterMeta):
                 ],
             },
             update={'$inc': {pending_key: 1}},
-            new=True,
+            return_document=True,
         )
         return modified_project is not None
 
@@ -485,10 +485,10 @@ class ToolImporter(metaclass=ToolImporterMeta):
         to indicate that an import is complete.
         """
         pending_key = 'tool_data.%s.pending' % self.classname
-        M.Project.query.find_and_modify(
-            query={'_id': project._id},
+        M.Project.query.find_one_and_update(
+            {'_id': project._id},
             update={'$inc': {pending_key: -1}},
-            new=True,
+            return_document=True,
         )
 
     def import_tool(self, project, user, project_name=None,
diff --git a/ForgeTracker/forgetracker/model/ticket.py 
b/ForgeTracker/forgetracker/model/ticket.py
index de099a372..1b80511d8 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -139,10 +139,10 @@ class Globals(MappedClass):
                                                             })
 
     def next_ticket_num(self):
-        gbl = Globals.query.find_and_modify(
-            query=dict(app_config_id=self.app_config_id),
+        gbl = Globals.query.find_one_and_update(
+            dict(app_config_id=self.app_config_id),
             update={'$inc': {'last_ticket_num': 1}},
-            new=True)
+            return_document=True)
         session(gbl).expunge(gbl)
         return gbl.last_ticket_num
 

Reply via email to