funcguard 0.1.5__py3-none-any.whl → 0.1.7__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.

Potentially problematic release.


This version of funcguard might be problematic. Click here for more details.

funcguard/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from .core import timeout_handler, retry_function
2
2
  from .tools import send_request, time_log, time_diff
3
- from .printer import print_block, print_line
3
+ from .printer import print_block, print_line, print_title
4
4
 
5
5
  __author__ = "ruocen"
6
6
 
@@ -13,4 +13,5 @@ __all__ = [
13
13
  "time_diff",
14
14
  "print_block",
15
15
  "print_line",
16
+ "print_title",
16
17
  ]
funcguard/printer.py CHANGED
@@ -1,5 +1,18 @@
1
1
  from typing import Any
2
2
 
3
+ # 打印带等号的标题(如:=== 初始化分类器 ===)
4
+ def print_title(title: str, separator_char: str = "=", padding_length: int = 3) -> None:
5
+ """
6
+ 打印带分隔符的标题,格式如:=== 初始化分类器 ===
7
+
8
+ :param title: 标题内容
9
+ :param separator_char: 分隔符字符,默认为'='
10
+ :param padding_length: 标题两侧的分隔符数量,默认为3
11
+ """
12
+ separator = separator_char * padding_length
13
+ print(f"{separator} {title} {separator}")
14
+
15
+
3
16
  # 打印分隔线
4
17
  def print_line(separator_char: str = "-", separator_length: int = 40) -> None:
5
18
  """
funcguard/tools.py CHANGED
@@ -68,15 +68,15 @@ def send_request(
68
68
 
69
69
 
70
70
  # 打印时间
71
- def time_log(message, i = 0, max_num = 0, start_from = 0, s_time = None,) :
71
+ def time_log(message, i = 0, max_num = 0, s_time = None, start_from = 0 ) :
72
72
  """
73
73
  打印带时间戳的日志信息,支持进度显示和预计完成时间
74
74
 
75
75
  :param message: 日志消息
76
76
  :param i: 当前进度
77
77
  :param max_num: 总进度数量
78
- :param start_from: i是否从0开始,0表示从0开始,1表示从1开始
79
78
  :param s_time: 开始时间,用于计算预计完成时间
79
+ :param start_from: i是否从0开始,0表示从0开始,1表示从1开始
80
80
  :return: None
81
81
  """
82
82
  now = datetime.now( timezone( timedelta( hours = 8 ) ) )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: funcguard
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: FuncGuard是一个Python库,提供函数执行超时控制、重试机制、HTTP请求封装和格式化打印工具。
5
5
  Home-page: https://github.com/tinycen/funcguard
6
6
  Author: tinycen
@@ -111,10 +111,14 @@ print(response)
111
111
 
112
112
  ### 格式化打印
113
113
 
114
- 使用`print_line`和`print_block`函数进行格式化打印,便于查看和调试:
114
+ 使用`print_line`、`print_block`和`print_title`函数进行格式化打印,便于查看和调试:
115
115
 
116
116
  ```python
117
- from funcguard import print_line, print_block
117
+ from funcguard import print_line, print_block, print_title
118
+
119
+ # 打印带等号的标题
120
+ print_title("初始化分类器") # 输出:=== 初始化分类器 ===
121
+ print_title("训练完成", separator_char="*", padding_length=2) # 输出:** 训练完成 **
118
122
 
119
123
  # 打印分隔线
120
124
  print_line() # 默认使用40个'-'字符
@@ -146,41 +150,33 @@ from funcguard import time_log, time_diff
146
150
  start_time = time_diff()
147
151
 
148
152
  # 记录任务开始(i从0开始)
149
- time_log("开始处理数据", 0, 100, 0, start_time)
153
+ time_log("开始处理数据", 0, 100, start_time, 0)
150
154
 
151
155
  # 模拟处理过程
152
156
  import time
153
157
  for i in range(1, 101):
154
158
  time.sleep(0.1) # 模拟处理时间
155
159
  if i % 20 == 0:
156
- time_log(f"处理进度", i, 100, 0, start_time) # 显示进度和预计完成时间
160
+ time_log(f"处理进度", i, 100, start_time, 0) # 显示进度和预计完成时间
157
161
 
158
162
  # 记录任务完成并打印统计信息
159
- time_log("数据处理完成", 100, 100, 0, start_time)
160
163
  time_diff(start_time, 100, "cn") # 中文显示统计信息
161
164
  ```
162
165
 
163
166
  或者当i从1开始时:
164
167
 
165
168
  ```python
166
- from funcguard import time_log, time_diff
167
-
168
- # 获取开始时间
169
- start_time = time_diff()
170
169
 
171
170
  # 记录任务开始(i从1开始)
172
- time_log("开始处理数据", 1, 100, 1, start_time)
171
+ time_log("开始处理数据", 1, 100, start_time, 1)
173
172
 
174
173
  # 模拟处理过程
175
174
  import time
176
175
  for i in range(1, 101):
177
176
  time.sleep(0.1) # 模拟处理时间
178
177
  if i % 20 == 0:
179
- time_log(f"处理进度", i, 100, 1, start_time) # 显示进度和预计完成时间
178
+ time_log(f"处理进度", i, 100, start_time, 1) # 显示进度和预计完成时间
180
179
 
181
- # 记录任务完成并打印统计信息
182
- time_log("数据处理完成", 100, 100, 1, start_time)
183
- time_diff(start_time, 100, "cn") # 中文显示统计信息
184
180
  ```
185
181
 
186
182
  时间日志功能特点:
@@ -231,14 +227,14 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
231
227
  - **返回值**: 根据return_type参数返回不同格式的响应数据
232
228
  - **异常**: 当请求失败且重试次数用尽后,抛出相应的异常
233
229
 
234
- #### time_log(message, i=0, max_num=0, start_from=0, s_time=None)
230
+ #### time_log(message, i=0, max_num=0, s_time=None, start_from=0)
235
231
 
236
232
  - **参数**:
237
233
  - `message`: 日志消息
238
234
  - `i`: 当前进度,默认为0
239
235
  - `max_num`: 总进度数量,默认为0
240
- - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
241
236
  - `s_time`: 开始时间,用于计算预计完成时间,默认为None
237
+ - `start_from`: i是否从0开始,0表示从0开始,1表示从1开始,默认为0
242
238
  - **返回值**: 无
243
239
  - **功能**: 打印带时间戳的日志信息,支持进度显示和预计完成时间计算
244
240
 
@@ -261,6 +257,15 @@ time_diff(start_time, 100, "cn") # 中文显示统计信息
261
257
  - **返回值**: 无
262
258
  - **功能**: 打印分隔线,用于分隔不同的打印块
263
259
 
260
+ #### print_title(title: str, separator_char: str = "=", padding_length: int = 3) -> None
261
+
262
+ - **参数**:
263
+ - `title`: 标题内容
264
+ - `separator_char`: 分隔符字符,默认为'='
265
+ - `padding_length`: 标题两侧的分隔符数量,默认为3
266
+ - **返回值**: 无
267
+ - **功能**: 打印带分隔符的标题,格式如:=== 初始化分类器 ===
268
+
264
269
  #### print_block(title: str, content: Any, separator_char: str = "-", separator_length: int = 40) -> None
265
270
 
266
271
  - **参数**:
@@ -0,0 +1,13 @@
1
+ funcguard/__init__.py,sha256=l8GqIAv1jbaq4fLEYsfrfm4Epk8EUoP1BfvwCdwr0Zw,374
2
+ funcguard/core.py,sha256=-rFRkE-udxM0wxlcv9Qi_yIQBRdVrGgwza-LYQsVRLg,3632
3
+ funcguard/printer.py,sha256=Iig_UO4h5LcL0BqCEEdxiu32h4rUq9GJbmf1pC_hd7o,1462
4
+ funcguard/tools.py,sha256=YIrr1qFWEU61R5Plk5UXGAyp9yGJrm28-POhNsttZsg,5623
5
+ tests/__init__.py,sha256=VW6FdWdSC_PL3zEtpkRQfUMf6yVD2OfwtSds82jawTs,26
6
+ tests/run_test.py,sha256=-SLdUV7gDifLxuCCAlU8qLxYMx6KpK4cxfG4UYfUIgA,1005
7
+ tests/test_core.py,sha256=aZNbQK4eTnnkCI4c2txYZNTcYIUhSJvII5Dvn0vNJKo,3732
8
+ tests/test_tools.py,sha256=g9dK-WW1s5SIobscRuelufBfPrSgNLZU8d1AJteBpd0,5609
9
+ funcguard-0.1.7.dist-info/LICENSE,sha256=jgOquECfjiXp5xXQ2zuzItDr4XDBLan-bIzIXl1lS4Y,1064
10
+ funcguard-0.1.7.dist-info/METADATA,sha256=xx4YUVNhJ0F--Cmjm9eUAzxE-LNchoBnuuyeZ0kbw1Y,8304
11
+ funcguard-0.1.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
12
+ funcguard-0.1.7.dist-info/top_level.txt,sha256=7wL9mWT062DttKNO7Wi1wYWTZilR2AOPRO0rE3gvtB4,16
13
+ funcguard-0.1.7.dist-info/RECORD,,
@@ -1,13 +0,0 @@
1
- funcguard/__init__.py,sha256=iyM7STP-KSxUn7PUaBWEQcZus2XskiGTTweI4qjoETE,342
2
- funcguard/core.py,sha256=-rFRkE-udxM0wxlcv9Qi_yIQBRdVrGgwza-LYQsVRLg,3632
3
- funcguard/printer.py,sha256=c93x6Z-6a7nnead_Rk_f0Xe23kdVdSj4qaxsuBMKfd0,958
4
- funcguard/tools.py,sha256=jpmZFEEepzeEHLahbV0SwVZDy1I_mwB5MxeLFspMR6U,5623
5
- tests/__init__.py,sha256=VW6FdWdSC_PL3zEtpkRQfUMf6yVD2OfwtSds82jawTs,26
6
- tests/run_test.py,sha256=-SLdUV7gDifLxuCCAlU8qLxYMx6KpK4cxfG4UYfUIgA,1005
7
- tests/test_core.py,sha256=aZNbQK4eTnnkCI4c2txYZNTcYIUhSJvII5Dvn0vNJKo,3732
8
- tests/test_tools.py,sha256=g9dK-WW1s5SIobscRuelufBfPrSgNLZU8d1AJteBpd0,5609
9
- funcguard-0.1.5.dist-info/LICENSE,sha256=jgOquECfjiXp5xXQ2zuzItDr4XDBLan-bIzIXl1lS4Y,1064
10
- funcguard-0.1.5.dist-info/METADATA,sha256=pi5iZvJkeJKPh-Ix3uptlcLwxuDl5SnyGg8THa-PS0k,8027
11
- funcguard-0.1.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
12
- funcguard-0.1.5.dist-info/top_level.txt,sha256=7wL9mWT062DttKNO7Wi1wYWTZilR2AOPRO0rE3gvtB4,16
13
- funcguard-0.1.5.dist-info/RECORD,,