| 
							
							# SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							import threading
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							from . import shared_abstract
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							class SimpleSharedDict(shared_abstract.SharedDict):
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    __slots__ = 'd',
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    def __init__(self):
 | 
						
						
						
						
							 | 
							
							        self.d = {}
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    def get_int(self, key):
 | 
						
						
						
						
							 | 
							
							        return self.d.get(key, None)
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    def set_int(self, key, value):
 | 
						
						
						
						
							 | 
							
							        self.d[key] = value
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    def get_str(self, key):
 | 
						
						
						
						
							 | 
							
							        return self.d.get(key, None)
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    def set_str(self, key, value):
 | 
						
						
						
						
							 | 
							
							        self.d[key] = value
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							def schedule(delay, func, *args):
 | 
						
						
						
						
							 | 
							
							    def call_later():
 | 
						
						
						
						
							 | 
							
							        t = threading.Timer(delay, wrapper)
 | 
						
						
						
						
							 | 
							
							        t.daemon = True
 | 
						
						
						
						
							 | 
							
							        t.start()
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    def wrapper():
 | 
						
						
						
						
							 | 
							
							        call_later()
 | 
						
						
						
						
							 | 
							
							        func(*args)
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    call_later()
 | 
						
						
						
						
							 | 
							
							    return True
 |