ErisPulse 2.1.14.dev1__py3-none-any.whl → 2.1.15.dev3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +1,20 @@
1
1
  from .adapter import AdapterFather, SendDSL, adapter
2
+ from .storage import storage
2
3
  from .env import env
3
4
  from .logger import logger
4
5
  from .mods import mods
5
- from .exceptions import exceptions
6
6
  from .router import router, adapter_server
7
7
  from .config import config
8
+ from . import exceptions
9
+
8
10
  BaseAdapter = AdapterFather
9
11
 
10
12
  __all__ = [
11
13
  'BaseAdapter',
12
14
  'AdapterFather',
13
15
  'SendDSL',
14
- 'exceptions',
15
16
  'adapter',
17
+ 'storage',
16
18
  'env',
17
19
  'logger',
18
20
  'mods',
ErisPulse/Core/adapter.py CHANGED
@@ -18,7 +18,7 @@ from typing import (
18
18
  Union, Awaitable
19
19
  )
20
20
  from collections import defaultdict
21
-
21
+ from .logger import logger
22
22
 
23
23
  class SendDSLBase:
24
24
  """
@@ -112,7 +112,6 @@ class BaseAdapter:
112
112
  :example:
113
113
  >>> await adapter.Send.To("123").Example("Hello")
114
114
  """
115
- from .logger import logger
116
115
  logger.debug(f"适配器 {self._adapter.__class__.__name__} 发送了实例类型的消息: {text}")
117
116
 
118
117
 
@@ -376,7 +375,7 @@ class AdapterManager:
376
375
  for name in set(combinations):
377
376
  setattr(self, name, instance)
378
377
  else:
379
- self.logger.warning(f"平台名 {platform} 过长,如果您是开发者,请考虑使用更短的名称")
378
+ logger.warning(f"平台名 {platform} 过长,如果您是开发者,请考虑使用更短的名称")
380
379
  setattr(self, platform.lower(), instance)
381
380
  setattr(self, platform.upper(), instance)
382
381
  setattr(self, platform.capitalize(), instance)
@@ -405,12 +404,12 @@ class AdapterManager:
405
404
  if platform not in self._adapters:
406
405
  raise ValueError(f"平台 {platform} 未注册")
407
406
 
408
- self.logger.info(f"启动适配器 {platforms}")
407
+ logger.info(f"启动适配器 {platforms}")
409
408
 
410
- # 启动OneBot服务
411
409
  from .router import adapter_server
412
- from .config import get_server_config
410
+ from .erispulse_config import get_server_config
413
411
  server_config = get_server_config()
412
+
414
413
  host = server_config["host"]
415
414
  port = server_config["port"]
416
415
  ssl_cert = server_config.get("ssl_certfile", None)
@@ -447,16 +446,14 @@ class AdapterManager:
447
446
  :param adapter: 适配器实例
448
447
  :param platform: 平台名称
449
448
  """
450
- from .. import sdk
451
449
 
452
- # 加锁防止并发启动
453
450
  if not getattr(adapter, "_starting_lock", None):
454
451
  adapter._starting_lock = asyncio.Lock()
455
452
 
456
453
  async with adapter._starting_lock:
457
454
  # 再次确认是否已经被启动
458
455
  if adapter in self._started_instances:
459
- sdk.logger.info(f"适配器 {platform}(实例ID: {id(adapter)})已被其他协程启动,跳过")
456
+ logger.info(f"适配器 {platform}(实例ID: {id(adapter)})已被其他协程启动,跳过")
460
457
  return
461
458
 
462
459
  retry_count = 0
@@ -470,12 +467,12 @@ class AdapterManager:
470
467
  return
471
468
  except Exception as e:
472
469
  retry_count += 1
473
- sdk.logger.error(f"平台 {platform} 启动失败(第{retry_count}次重试): {e}")
470
+ logger.error(f"平台 {platform} 启动失败(第{retry_count}次重试): {e}")
474
471
 
475
472
  try:
476
473
  await adapter.shutdown()
477
474
  except Exception as stop_err:
478
- sdk.logger.warning(f"停止适配器失败: {stop_err}")
475
+ logger.warning(f"停止适配器失败: {stop_err}")
479
476
 
480
477
  # 计算等待时间
481
478
  if retry_count <= len(backoff_intervals):
@@ -483,7 +480,7 @@ class AdapterManager:
483
480
  else:
484
481
  wait_time = fixed_delay
485
482
 
486
- sdk.logger.info(f"将在 {wait_time // 60} 分钟后再次尝试重启 {platform}")
483
+ logger.info(f"将在 {wait_time // 60} 分钟后再次尝试重启 {platform}")
487
484
  await asyncio.sleep(wait_time)
488
485
 
489
486
  async def shutdown(self) -> None:
@@ -548,4 +545,10 @@ class AdapterManager:
548
545
 
549
546
  AdapterFather = BaseAdapter
550
547
  adapter = AdapterManager()
551
- SendDSL = SendDSLBase
548
+ SendDSL = SendDSLBase
549
+
550
+ __all__ = [
551
+ "AdapterFather",
552
+ "adapter",
553
+ "SendDSL"
554
+ ]
ErisPulse/Core/config.py CHANGED
@@ -73,100 +73,6 @@ class ConfigManager:
73
73
 
74
74
  config = ConfigManager()
75
75
 
76
- # 默认配置
77
- DEFAULT_CONFIG = {
78
- "server": {
79
- "host": "0.0.0.0",
80
- "port": 8000,
81
- "ssl_certfile": None,
82
- "ssl_keyfile": None
83
- },
84
- "logger": {
85
- "level": "INFO",
86
- "log_files": [],
87
- "memory_limit": 1000
88
- }
89
- }
90
-
91
- def _ensure_config_structure(config: Dict[str, Any]) -> Dict[str, Any]:
92
- """
93
- 确保配置结构完整,补全缺失的配置项
94
-
95
- :param config: 当前配置
96
- :return: 补全后的完整配置
97
- """
98
- merged_config = DEFAULT_CONFIG.copy()
99
-
100
- # 深度合并配置
101
- for section, default_values in DEFAULT_CONFIG.items():
102
- if section not in config:
103
- config[section] = default_values.copy()
104
- continue
105
-
106
- if not isinstance(config[section], dict):
107
- config[section] = default_values.copy()
108
- continue
109
-
110
- for key, default_value in default_values.items():
111
- if key not in config[section]:
112
- config[section][key] = default_value
113
-
114
- return config
115
-
116
- def get_config() -> Dict[str, Any]:
117
- """
118
- 获取当前配置,自动补全缺失的配置项并保存
119
-
120
- :return: 完整的配置字典
121
- """
122
-
123
- # 获取现有配置
124
- current_config = config.getConfig("ErisPulse")
125
-
126
- # 如果完全没有配置,设置默认配置
127
- if current_config is None:
128
- config.setConfig("ErisPulse", DEFAULT_CONFIG)
129
- return DEFAULT_CONFIG
130
-
131
- # 检查并补全缺失的配置项
132
- complete_config = _ensure_config_structure(current_config)
133
-
134
- # 如果配置有变化,更新到存储
135
- if current_config != complete_config:
136
- config.setConfig("ErisPulse", complete_config)
137
-
138
- return complete_config
139
-
140
- def update_config(new_config: Dict[str, Any]) -> bool:
141
- """
142
- 更新配置,自动补全缺失的配置项
143
-
144
- :param new_config: 新的配置字典
145
- :return: 是否更新成功
146
- """
147
- # 获取当前配置并合并新配置
148
- current = get_config()
149
- merged = {**current, **new_config}
150
-
151
- # 确保合并后的配置结构完整
152
- complete_config = _ensure_config_structure(merged)
153
-
154
- return config.setConfig("ErisPulse", complete_config)
155
-
156
- def get_server_config() -> Dict[str, Any]:
157
- """
158
- 获取服务器配置,确保结构完整
159
-
160
- :return: 服务器配置字典
161
- """
162
- config = get_config()
163
- return config["server"]
164
-
165
- def get_logger_config() -> Dict[str, Any]:
166
- """
167
- 获取日志配置,确保结构完整
168
-
169
- :return: 日志配置字典
170
- """
171
- config = get_config()
172
- return config["logger"]
76
+ __all__ = [
77
+ "config"
78
+ ]