diff options
| author | 2023-08-09 14:36:37 +0800 | |
|---|---|---|
| committer | 2023-08-09 14:36:37 +0800 | |
| commit | 85ec2f7dc55a672b07272a50f11eb86460f38671 (patch) | |
| tree | 8517989c8cc6444df8ae7ae50802a3b81766b01f /tests/test.py | |
| parent | 642a278b1e2cc11fee587b933413a30c057753c1 (diff) | |
| download | HydroRoll-85ec2f7dc55a672b07272a50f11eb86460f38671.tar.gz HydroRoll-85ec2f7dc55a672b07272a50f11eb86460f38671.zip | |
feat:all
Diffstat (limited to 'tests/test.py')
| -rw-r--r-- | tests/test.py | 76 |
1 files changed, 1 insertions, 75 deletions
diff --git a/tests/test.py b/tests/test.py index 8c3807b..b3eed87 100644 --- a/tests/test.py +++ b/tests/test.py @@ -1,77 +1,3 @@ -import threading
-import pickle
-import os
-class ConfigManager:
- def __init__(self, filename):
- self.lock = threading.RLock()
- self.filename = filename
- try:
- with open(filename, 'rb') as f:
- self.data = pickle.load(f)
- except FileNotFoundError:
- self.data = {}
-
- self.properties = {}
- self.apis = {}
-
- def load(self):
- with self.lock:
- try:
- with open(self.filename, 'rb') as f:
- self.data = pickle.load(f)
- self.properties.update(self.data)
- except FileNotFoundError:
- self.data = {}
-
- def save(self):
- with self.lock:
- try:
- with open(self.filename, 'wb') as f:
- # 将self.properties字典中的内容合并至self.data字典中
- for k, v in self.properties.items():
- self.data[k] = v
- # 将self.apis字典中的函数状态保存至self.data字典中
- for k, v in self.apis.items():
- if v is not None:
- self.data[k] = v
- pickle.dump(self.data, f)
- except Exception as e:
- print('Error saving config data:', repr(e))
- raise
-
- def register_property(self, name, default_value):
- self.properties[name] = default_value
-
- def getter(self, default_value=default_value):
- with self.lock:
- return self.data.get(name, default_value)
-
- def setter(self, value):
- with self.lock:
- self.data[name] = value
-
- setattr(ConfigManager, name, property(getter, setter))
-
- def register_api(self, name, func, default_value=None):
- self.apis[name] = default_value
-
- def wrapper(*args, **kwargs):
- with self.lock:
- return func(*args, **kwargs)
-
- setattr(ConfigManager, name, wrapper)
-
-
-c = ConfigManager("test.dat")
-
-# c.register_property("bot_off_list", [999, 777])
-# def send_message(self, message):
-# print("Sending message:", message)
-
-# c.register_api("send_message", send_message, default_value="Hello, world!")
-
-# c.save()
-c.load()
-print(c.properties,c.properties['bot_off_list'],c.apis)
+
|
