Skip to content

Commit 5628d93

Browse files
Mher Movsisyanbehackett
authored andcommitted
Add 'with' statement support to cursors PYTHON-39
1 parent 085a7e7 commit 5628d93

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

pymongo/cursor.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,3 +611,9 @@ def next(self):
611611
else:
612612
raise StopIteration
613613
return next
614+
615+
def __enter__(self):
616+
return self
617+
618+
def __exit__(self, type, value, traceback):
619+
self.__die()

test/test_cursor.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,12 @@ def test_max_scan(self):
664664
self.assertEqual(50, len(list(self.db.test.find()
665665
.max_scan(90).max_scan(50))))
666666

667+
def test_with_statement(self):
668+
c1 = self.db.test.find()
669+
with self.db.test.find() as c2:
670+
self.assertTrue(c2.alive)
671+
self.assertTrue(c1.alive)
672+
self.assertFalse(c2.alive)
667673

668674
if __name__ == "__main__":
669675
unittest.main()

0 commit comments

Comments
 (0)