ErisPulse 1.2.0__py3-none-any.whl → 1.2.2__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.
ErisPulse/__init__.py CHANGED
@@ -91,9 +91,11 @@ def init_progress():
91
91
  from pathlib import Path
92
92
  env_file = Path("env.py")
93
93
  main_file = Path("main.py")
94
-
95
- if not env_file.exists():
96
- content = '''# env.py
94
+ env_init = False
95
+ main_init = False
96
+ try:
97
+ if not env_file.exists():
98
+ env_content = '''# env.py
97
99
  # ErisPulse 环境配置文件
98
100
  # 本文件由 SDK 自动创建,请勿随意删除
99
101
  # 配置项可通过 sdk.env.get(key, default) 获取,或使用 sdk.env.set(key, value) 设置
@@ -111,46 +113,54 @@ def init_progress():
111
113
 
112
114
  from ErisPulse import sdk
113
115
  '''
114
- if not main_file.exists():
115
- content += '''# main.py
116
+ with open(env_file, "w", encoding="utf-8") as f:
117
+ f.write(env_content)
118
+ env_init = True
119
+ if not main_file.exists():
120
+ main_content = '''# main.py
116
121
  # ErisPulse 主程序文件
117
122
  # 本文件由 SDK 自动创建,您可随意修改
118
-
123
+ import asyncio
119
124
  from ErisPulse import sdk
120
125
 
121
126
  async def main():
122
127
  try:
123
128
  sdk.init()
124
129
  await sdk.adapter.startup()
125
-
130
+
131
+ # 保持程序运行(不建议修改)
132
+ await asyncio.Event().wait()
126
133
  except Exception as e:
127
134
  sdk.logger.error(e)
128
135
  except KeyboardInterrupt:
129
136
  sdk.logger.info("正在停止程序")
130
137
  finally:
131
- await sdk.shutdown()
138
+ await sdk.adapter.shutdown()
132
139
 
133
140
  if __name__ == "__main__":
134
141
  asyncio.run(main())
135
142
  '''
136
- try:
137
- with open(env_file, "w", encoding="utf-8") as f:
138
- f.write(content)
139
- return True
140
- except Exception as e:
141
- from . import sdk
142
- sdk.logger.error(f"无法初始化项目环境: {e}")
143
- return False
144
- return False
143
+ with open(main_file, "w", encoding="utf-8") as f:
144
+ f.write(main_content)
145
+ main_init = True
146
+ return env_init, main_init
147
+ except Exception as e:
148
+ sdk.logger.error(f"无法初始化项目环境: {e}")
149
+ return False
145
150
 
146
151
  def _prepare_environment() -> bool:
147
152
  # 检查环境
148
153
  logger.info("[Init] 准备初始化环境...")
149
154
  try:
150
- if init_progress():
155
+ env_init, main_init = init_progress()
156
+ if env_init:
151
157
  logger.info("[Init] 项目首次初始化,建议先配置环境变量")
152
158
  if input("是否立即退出?(y/n): ").strip().lower() == "y":
153
159
  return False
160
+ if main_init:
161
+ logger.info("[Init] 项目入口已生成, 建议您在 main.py 中编写主程序")
162
+ if input("是否立即退出?(y/n): ").strip().lower() == "y":
163
+ return False
154
164
  env.load_env_file()
155
165
  return True
156
166
  except Exception as e:
ErisPulse/__main__.py CHANGED
@@ -1040,6 +1040,9 @@ def main():
1040
1040
  upgrade_parser = subparsers.add_parser('upgrade', help='升级模块列表')
1041
1041
  upgrade_parser.add_argument('--force', action='store_true', help='跳过二次确认,强制更新')
1042
1042
 
1043
+ # 初始化命令
1044
+ init_parser = subparsers.add_parser('init', help='初始化模块数据库')
1045
+
1043
1046
  origin_parser = subparsers.add_parser('origin', help='管理模块源')
1044
1047
  origin_subparsers = origin_parser.add_subparsers(
1045
1048
  dest='origin_command',
@@ -1219,6 +1222,15 @@ def main():
1219
1222
  except KeyboardInterrupt:
1220
1223
  shellprint.panel("脚本执行已中断", "中断", "info")
1221
1224
 
1225
+ elif args.command == 'init':
1226
+ print(f"{Shell_Printer.GREEN}正在初始化项目...{Shell_Printer.RESET}")
1227
+ from . import init as init_module
1228
+ try:
1229
+ init_module()
1230
+ print(f"{Shell_Printer.GREEN}项目初始化完成{Shell_Printer.RESET}")
1231
+ except Exception as e:
1232
+ print(f"{Shell_Printer.RED}项目初始化失败: {e}{Shell_Printer.RESET}")
1233
+
1222
1234
  elif args.command == 'origin':
1223
1235
  if args.origin_command == 'add':
1224
1236
  success = source_manager.add_source(args.url)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ErisPulse
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。
5
5
  Author-email: "艾莉丝·格雷拉特(WSu2059)" <wsu2059@qq.com>, runoneall <runoobsteve@gmail.com>
6
6
  License: MIT License
@@ -1,13 +1,13 @@
1
- ErisPulse/__init__.py,sha256=LFwCJBoFVqoFZUVYxU9CheQCD7j6IPGHveDAyeX_CLU,10424
2
- ErisPulse/__main__.py,sha256=j2edGX1fjTX1FWb33p_l05dKfFHf-8V2Am-JZ-eHDE8,52807
1
+ ErisPulse/__init__.py,sha256=fFHqjboYUJGRiqjQlowqaBMj5E6qdfpbVWUzA06IMCY,10976
2
+ ErisPulse/__main__.py,sha256=FDWhTASyJwGvYDnM5aJ8wgNDViT7aQZFqyruHeJCnjk,53333
3
3
  ErisPulse/adapter.py,sha256=rrBdPSHvOzzN0VJCD8lThygM9I-_iQIeZ5iMgqCJ34w,13977
4
4
  ErisPulse/db.py,sha256=LSIw6MpNtZ-P3deARLj8Umo06EBrwyuzhF4Nj1Lkbyc,23043
5
5
  ErisPulse/logger.py,sha256=UfQBF9fLx4WKe_se_lB5jNvaeTDtpv5PKT9x49QMmyw,8152
6
6
  ErisPulse/mods.py,sha256=1vEFiuL61Ouu7cocyysev5k2lGqcJ_hJGZqXNNbhJqg,9936
7
7
  ErisPulse/raiserr.py,sha256=QeKffL8Gm4Vl1DDMFQiKluiKCx0mxgN2Jj98WP4tUHo,3958
8
8
  ErisPulse/util.py,sha256=tmmZA4Ef5ElB01KZg2fTZLrkZOJbORjnkAd8sXj7xqw,4335
9
- erispulse-1.2.0.dist-info/METADATA,sha256=acMUZ0isuvhccezuqQaynehbOPBeT_ZBhP3KkF9wsQM,6370
10
- erispulse-1.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
11
- erispulse-1.2.0.dist-info/entry_points.txt,sha256=y8ppdsQhk-azC7_ikQgRr4rITSZ4VC4crVKtzHh4TBY,146
12
- erispulse-1.2.0.dist-info/licenses/LICENSE,sha256=plj4EYVfKAzc0ZWoC5T2vsQ86u0yLpu17NdAPeIcgVo,1066
13
- erispulse-1.2.0.dist-info/RECORD,,
9
+ erispulse-1.2.2.dist-info/METADATA,sha256=V8DI1Tg5OL-Dv6GpZB_Wp31ZPtjWRW8azDX0NvaCQAI,6370
10
+ erispulse-1.2.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
11
+ erispulse-1.2.2.dist-info/entry_points.txt,sha256=y8ppdsQhk-azC7_ikQgRr4rITSZ4VC4crVKtzHh4TBY,146
12
+ erispulse-1.2.2.dist-info/licenses/LICENSE,sha256=plj4EYVfKAzc0ZWoC5T2vsQ86u0yLpu17NdAPeIcgVo,1066
13
+ erispulse-1.2.2.dist-info/RECORD,,