summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/aioimaplib/event-loop.patch
blob: 616efc6d9001a04a7fc4b34b14c2d0a85b108c1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
diff --git a/aioimaplib/imap_testing_server.py b/aioimaplib/imap_testing_server.py
index b303aa3..419b808 100644
--- a/aioimaplib/imap_testing_server.py
+++ b/aioimaplib/imap_testing_server.py
@@ -198,12 +198,18 @@ class ImapProtocol(asyncio.Protocol):
     DEFAULT_QUOTA = 5000
 
     def __init__(self, server_state, fetch_chunk_size=0, capabilities=CAPABILITIES,
-                 loop=asyncio.get_event_loop()):
+                 loop=None):
         self.uidvalidity = int(datetime.now().timestamp())
         self.capabilities = capabilities
         self.state_to_send = list()
         self.delay_seconds = 0
-        self.loop = loop
+        if loop is None:
+            try:
+                self.loop = asyncio.get_running_loop()
+            except RuntimeError:
+                self.loop = asyncio.new_event_loop()
+        else:
+            self.loop = loop
         self.fetch_chunk_size = fetch_chunk_size
         self.transport = None
         self.server_state = server_state