mortal-bases 4.0.2__py3-none-any.whl → 4.0.6__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.
mortal_bases/__init__.py CHANGED
@@ -18,15 +18,15 @@ class MortalBases(MortalBasesMain):
18
18
  """
19
19
  MortalBases 类继承自 MortalBasesMain,提供了一系列用于数据转换、字典操作、路径操作、可调用对象操作和时间处理的方法。
20
20
  """
21
- def __init__(self, warning=True):
21
+ @classmethod
22
+ def get_mortal_except(cls):
22
23
  """
23
- 初始化 MortalBases 实例。
24
-
25
- :param warning: 是否启用警告,默认为 True。
24
+ 调用内部方法 `_get_mortal_except` 以获取异常装饰器。
26
25
  """
27
- super().__init__(warning)
26
+ return cls._get_mortal_except()
28
27
 
29
- def to_str(self, obj, except_result=None):
28
+ @classmethod
29
+ def to_str(cls, obj, except_result=None):
30
30
  """
31
31
  将对象转换为字符串。
32
32
 
@@ -34,9 +34,10 @@ class MortalBases(MortalBasesMain):
34
34
  :param except_result: 转换失败时返回的默认值,默认为 None。
35
35
  :return: 转换后的字符串或默认值。
36
36
  """
37
- return self._to_str(obj, except_result)
37
+ return cls._to_str(obj, except_result)
38
38
 
39
- def to_int(self, obj, ceil=False, floor=False, absolute=False, except_result=None):
39
+ @classmethod
40
+ def to_int(cls, obj, ceil=False, floor=False, absolute=False, except_result=None):
40
41
  """
41
42
  将对象转换为整数。
42
43
 
@@ -47,9 +48,10 @@ class MortalBases(MortalBasesMain):
47
48
  :param except_result: 转换失败时返回的默认值,默认为 None。
48
49
  :return: 转换后的整数或默认值。
49
50
  """
50
- return self._to_int(obj, ceil, floor, absolute, except_result)
51
+ return cls._to_int(obj, ceil, floor, absolute, except_result)
51
52
 
52
- def to_float(self, obj, digits: int = 2, except_result=None):
53
+ @classmethod
54
+ def to_float(cls, obj, digits: int = 2, except_result=None):
53
55
  """
54
56
  将对象转换为浮点数,并保留指定小数位数。
55
57
 
@@ -58,9 +60,10 @@ class MortalBases(MortalBasesMain):
58
60
  :param except_result: 转换失败时返回的默认值,默认为 None。
59
61
  :return: 转换后的浮点数或默认值。
60
62
  """
61
- return self._to_float(obj, digits, except_result)
63
+ return cls._to_float(obj, digits, except_result)
62
64
 
63
- def to_decimal(self, obj, digits: int = 2, except_result=None):
65
+ @classmethod
66
+ def to_decimal(cls, obj, digits: int = 2, except_result=None):
64
67
  """
65
68
  将对象转换为 Decimal 类型,并保留指定小数位数。
66
69
 
@@ -69,9 +72,10 @@ class MortalBases(MortalBasesMain):
69
72
  :param except_result: 转换失败时返回的默认值,默认为 None。
70
73
  :return: 转换后的 Decimal 或默认值。
71
74
  """
72
- return self._to_decimal(obj, digits, except_result)
75
+ return cls._to_decimal(obj, digits, except_result)
73
76
 
74
- def to_bool(self, obj, except_result=None):
77
+ @classmethod
78
+ def to_bool(cls, obj, except_result=None):
75
79
  """
76
80
  将对象转换为布尔值。
77
81
 
@@ -79,9 +83,10 @@ class MortalBases(MortalBasesMain):
79
83
  :param except_result: 转换失败时返回的默认值,默认为 None。
80
84
  :return: 转换后的布尔值或默认值。
81
85
  """
82
- return self._to_bool(obj, except_result)
86
+ return cls._to_bool(obj, except_result)
83
87
 
84
- def list_diff(self, left, right, except_result=None):
88
+ @classmethod
89
+ def list_diff(cls, left, right, except_result=None):
85
90
  """
86
91
  计算两个列表的差集。
87
92
 
@@ -90,9 +95,10 @@ class MortalBases(MortalBasesMain):
90
95
  :param except_result: 计算失败时返回的默认值,默认为 None。
91
96
  :return: 差集列表或默认值。
92
97
  """
93
- return self._list_diff(left, right, except_result)
98
+ return cls._list_diff(left, right, except_result)
94
99
 
95
- def list_set(self, left, except_result=None):
100
+ @classmethod
101
+ def list_set(cls, left, except_result=None):
96
102
  """
97
103
  将列表转换为集合,去除重复元素。
98
104
 
@@ -100,9 +106,10 @@ class MortalBases(MortalBasesMain):
100
106
  :param except_result: 转换失败时返回的默认值,默认为 None。
101
107
  :return: 转换后的集合或默认值。
102
108
  """
103
- return self._list_set(left, except_result)
109
+ return cls._list_set(left, except_result)
104
110
 
105
- def list_intersect(self, left, right, except_result=None):
111
+ @classmethod
112
+ def list_intersect(cls, left, right, except_result=None):
106
113
  """
107
114
  计算两个列表的交集。
108
115
 
@@ -111,9 +118,10 @@ class MortalBases(MortalBasesMain):
111
118
  :param except_result: 计算失败时返回的默认值,默认为 None。
112
119
  :return: 交集列表或默认值。
113
120
  """
114
- return self._list_intersect(left, right, except_result)
121
+ return cls._list_intersect(left, right, except_result)
115
122
 
116
- def dict_find(self, obj, path, except_result=None):
123
+ @classmethod
124
+ def dict_find(cls, obj, path, except_result=None):
117
125
  """
118
126
  在字典中查找指定路径的值。
119
127
 
@@ -122,9 +130,10 @@ class MortalBases(MortalBasesMain):
122
130
  :param except_result: 查找失败时返回的默认值,默认为 None。
123
131
  :return: 查找到的值或默认值。
124
132
  """
125
- return self._dict_find(obj, path, except_result)
133
+ return cls._dict_find(obj, path, except_result)
126
134
 
127
- def dict_find_all(self, obj, path, except_result=None):
135
+ @classmethod
136
+ def dict_find_all(cls, obj, path, except_result=None):
128
137
  """
129
138
  在字典中查找指定路径的所有值。
130
139
 
@@ -133,9 +142,10 @@ class MortalBases(MortalBasesMain):
133
142
  :param except_result: 查找失败时返回的默认值,默认为 None。
134
143
  :return: 查找到的所有值或默认值。
135
144
  """
136
- return self._dict_find_all(obj, path, except_result)
145
+ return cls._dict_find_all(obj, path, except_result)
137
146
 
138
- def dict_update(self, obj, path, value=None, except_result=None):
147
+ @classmethod
148
+ def dict_update(cls, obj, path, value=None, except_result=None):
139
149
  """
140
150
  更新字典中指定路径的值。
141
151
 
@@ -145,9 +155,10 @@ class MortalBases(MortalBasesMain):
145
155
  :param except_result: 更新失败时返回的默认值,默认为 None。
146
156
  :return: 更新后的字典或默认值。
147
157
  """
148
- return self._dict_update(obj, path, value, except_result)
158
+ return cls._dict_update(obj, path, value, except_result)
149
159
 
150
- def dict_delete(self, obj, path, index=0, except_result=None):
160
+ @classmethod
161
+ def dict_delete(cls, obj, path, index=0, except_result=None):
151
162
  """
152
163
  删除字典中指定路径的值。
153
164
 
@@ -157,9 +168,10 @@ class MortalBases(MortalBasesMain):
157
168
  :param except_result: 删除失败时返回的默认值,默认为 None。
158
169
  :return: 删除后的字典或默认值。
159
170
  """
160
- return self._dict_delete(obj, path, index, except_result)
171
+ return cls._dict_delete(obj, path, index, except_result)
161
172
 
162
- def dict_read_yaml(self, obj, mode='r', encoding="utf-8", loader=yaml.FullLoader, except_result=None):
173
+ @classmethod
174
+ def dict_read_yaml(cls, obj, mode='r', encoding="utf-8", loader=yaml.FullLoader, except_result=None):
163
175
  """
164
176
  从 YAML 文件中读取字典。
165
177
 
@@ -170,10 +182,11 @@ class MortalBases(MortalBasesMain):
170
182
  :param except_result: 读取失败时返回的默认值,默认为 None。
171
183
  :return: 读取到的字典或默认值。
172
184
  """
173
- return self._dict_read_yaml(obj, mode, encoding, loader, except_result)
185
+ return cls._dict_read_yaml(obj, mode, encoding, loader, except_result)
174
186
 
187
+ @classmethod
175
188
  def dict_write_yaml(
176
- self, obj, path, mode='w', default_style="", default_flow_style=False, canonical=False,
189
+ cls, obj, path, mode='w', default_style="", default_flow_style=False, canonical=False,
177
190
  indent=2, allow_unicode=True, encoding="utf-8", sort_keys=False, except_result=None
178
191
  ):
179
192
  """
@@ -192,12 +205,24 @@ class MortalBases(MortalBasesMain):
192
205
  :param except_result: 写入失败时返回的默认值,默认为 None。
193
206
  :return: 写入成功返回 True,失败返回默认值。
194
207
  """
195
- return self._dict_write_yaml(
208
+ return cls._dict_write_yaml(
196
209
  obj, path, mode, default_style, default_flow_style, canonical, indent,
197
210
  allow_unicode, encoding, sort_keys, except_result
198
211
  )
199
212
 
200
- def path_exists(self, obj, except_result=None):
213
+ @classmethod
214
+ def path_normal(cls, obj, except_result=None):
215
+ """
216
+ 规范化给定路径字符串,并处理可能的异常情况。
217
+
218
+ :param obj: str, 需要规范化的路径字符串。
219
+ :param except_result: 可选参数,指定在发生异常时返回的结果。默认为 None。
220
+ :return: 规范化后的路径字符串。如果发生异常,则返回 `except_result` 指定的值。
221
+ """
222
+ return cls._path_normal(obj, except_result)
223
+
224
+ @classmethod
225
+ def path_exists(cls, obj, except_result=None):
201
226
  """
202
227
  检查路径是否存在。
203
228
 
@@ -205,9 +230,10 @@ class MortalBases(MortalBasesMain):
205
230
  :param except_result: 检查失败时返回的默认值,默认为 None。
206
231
  :return: 路径存在返回 True,否则返回默认值。
207
232
  """
208
- return self._path_exists(obj, except_result)
233
+ return cls._path_exists(obj, except_result)
209
234
 
210
- def path_file(self, obj, except_result=None):
235
+ @classmethod
236
+ def path_file(cls, obj, except_result=None):
211
237
  """
212
238
  检查路径是否为文件。
213
239
 
@@ -215,9 +241,10 @@ class MortalBases(MortalBasesMain):
215
241
  :param except_result: 检查失败时返回的默认值,默认为 None。
216
242
  :return: 路径为文件返回 True,否则返回默认值。
217
243
  """
218
- return self._path_file(obj, except_result)
244
+ return cls._path_file(obj, except_result)
219
245
 
220
- def path_dir(self, obj, except_result=None):
246
+ @classmethod
247
+ def path_dir(cls, obj, except_result=None):
221
248
  """
222
249
  检查路径是否为目录。
223
250
 
@@ -225,9 +252,10 @@ class MortalBases(MortalBasesMain):
225
252
  :param except_result: 检查失败时返回的默认值,默认为 None。
226
253
  :return: 路径为目录返回 True,否则返回默认值。
227
254
  """
228
- return self._path_dir(obj, except_result)
255
+ return cls._path_dir(obj, except_result)
229
256
 
230
- def path_delete(self, obj, except_result=None):
257
+ @classmethod
258
+ def path_delete(cls, obj, except_result=None):
231
259
  """
232
260
  删除指定路径。
233
261
 
@@ -235,9 +263,10 @@ class MortalBases(MortalBasesMain):
235
263
  :param except_result: 删除失败时返回的默认值,默认为 None。
236
264
  :return: 删除成功返回 True,失败返回默认值。
237
265
  """
238
- return self._path_delete(obj, except_result)
266
+ return cls._path_delete(obj, except_result)
239
267
 
240
- def path_copy(self, src_obj, tar_obj, except_result=None):
268
+ @classmethod
269
+ def path_copy(cls, src_obj, tar_obj, except_result=None):
241
270
  """
242
271
  复制文件或目录。
243
272
 
@@ -246,9 +275,10 @@ class MortalBases(MortalBasesMain):
246
275
  :param except_result: 复制失败时返回的默认值,默认为 None。
247
276
  :return: 复制成功返回 True,失败返回默认值。
248
277
  """
249
- return self._path_copy(src_obj, tar_obj, except_result)
278
+ return cls._path_copy(src_obj, tar_obj, except_result)
250
279
 
251
- def path_move(self, src_obj, tar_obj, except_result=None):
280
+ @classmethod
281
+ def path_move(cls, src_obj, tar_obj, except_result=None):
252
282
  """
253
283
  移动文件或目录。
254
284
 
@@ -257,9 +287,10 @@ class MortalBases(MortalBasesMain):
257
287
  :param except_result: 移动失败时返回的默认值,默认为 None。
258
288
  :return: 移动成功返回 True,失败返回默认值。
259
289
  """
260
- return self._path_move(src_obj, tar_obj, except_result)
290
+ return cls._path_move(src_obj, tar_obj, except_result)
261
291
 
262
- def path_read(self, obj, mode='r', encoding=None, except_result=None):
292
+ @classmethod
293
+ def path_read(cls, obj, mode='r', encoding=None, except_result=None):
263
294
  """
264
295
  读取文件内容。
265
296
 
@@ -269,9 +300,10 @@ class MortalBases(MortalBasesMain):
269
300
  :param except_result: 读取失败时返回的默认值,默认为 None。
270
301
  :return: 文件内容或默认值。
271
302
  """
272
- return self._path_read(obj, mode, encoding, except_result)
303
+ return cls._path_read(obj, mode, encoding, except_result)
273
304
 
274
- def path_readline(self, obj, mode='r', encoding=None, except_result=None):
305
+ @classmethod
306
+ def path_readline(cls, obj, mode='r', encoding=None, except_result=None):
275
307
  """
276
308
  读取文件的一行内容。
277
309
 
@@ -281,9 +313,10 @@ class MortalBases(MortalBasesMain):
281
313
  :param except_result: 读取失败时返回的默认值,默认为 None。
282
314
  :return: 文件的一行内容或默认值。
283
315
  """
284
- return self._path_readline(obj, mode, encoding, except_result)
316
+ return cls._path_readline(obj, mode, encoding, except_result)
285
317
 
286
- def path_readlines(self, obj, mode='r', encoding=None, except_result=None):
318
+ @classmethod
319
+ def path_readlines(cls, obj, mode='r', encoding=None, except_result=None):
287
320
  """
288
321
  读取文件的所有行内容。
289
322
 
@@ -293,9 +326,10 @@ class MortalBases(MortalBasesMain):
293
326
  :param except_result: 读取失败时返回的默认值,默认为 None。
294
327
  :return: 文件的所有行内容或默认值。
295
328
  """
296
- return self._path_readlines(obj, mode, encoding, except_result)
329
+ return cls._path_readlines(obj, mode, encoding, except_result)
297
330
 
298
- def path_write(self, obj, mode='w', encoding=None, except_result=None):
331
+ @classmethod
332
+ def path_write(cls, obj, mode='w', encoding=None, except_result=None):
299
333
  """
300
334
  向文件写入内容。
301
335
 
@@ -305,9 +339,10 @@ class MortalBases(MortalBasesMain):
305
339
  :param except_result: 写入失败时返回的默认值,默认为 None。
306
340
  :return: 写入成功返回 True,失败返回默认值。
307
341
  """
308
- return self._path_write(obj, mode, encoding, except_result)
342
+ return cls._path_write(obj, mode, encoding, except_result)
309
343
 
310
- def path_writelines(self, obj, mode='w', encoding=None, except_result=None):
344
+ @classmethod
345
+ def path_writelines(cls, obj, mode='w', encoding=None, except_result=None):
311
346
  """
312
347
  向文件写入多行内容。
313
348
 
@@ -317,9 +352,10 @@ class MortalBases(MortalBasesMain):
317
352
  :param except_result: 写入失败时返回的默认值,默认为 None。
318
353
  :return: 写入成功返回 True,失败返回默认值。
319
354
  """
320
- return self._path_writelines(obj, mode, encoding, except_result)
355
+ return cls._path_writelines(obj, mode, encoding, except_result)
321
356
 
322
- def path_file_list(self, obj, except_result=None):
357
+ @classmethod
358
+ def path_file_list(cls, obj, except_result=None):
323
359
  """
324
360
  获取目录下的文件列表。
325
361
 
@@ -327,9 +363,10 @@ class MortalBases(MortalBasesMain):
327
363
  :param except_result: 获取失败时返回的默认值,默认为 None。
328
364
  :return: 文件列表或默认值。
329
365
  """
330
- return self._path_file_list(obj, except_result)
366
+ return cls._path_file_list(obj, except_result)
331
367
 
332
- def path_file_dict(self, obj, dirs=None, skip_dir=None, skip_file=None, except_result=None):
368
+ @classmethod
369
+ def path_file_dict(cls, obj, dirs=None, skip_dir=None, skip_file=None, except_result=None):
333
370
  """
334
371
  获取目录下的文件字典。
335
372
 
@@ -340,9 +377,10 @@ class MortalBases(MortalBasesMain):
340
377
  :param except_result: 获取失败时返回的默认值,默认为 None。
341
378
  :return: 文件字典或默认值。
342
379
  """
343
- return self._path_file_dict(obj, dirs, skip_dir, skip_file, except_result)
380
+ return cls._path_file_dict(obj, dirs, skip_dir, skip_file, except_result)
344
381
 
345
- def callable_name(self, obj, except_result=None):
382
+ @classmethod
383
+ def callable_name(cls, obj, except_result=None):
346
384
  """
347
385
  获取可调用对象的名称。
348
386
 
@@ -350,9 +388,10 @@ class MortalBases(MortalBasesMain):
350
388
  :param except_result: 获取失败时返回的默认值,默认为 None。
351
389
  :return: 可调用对象的名称或默认值。
352
390
  """
353
- return self._callable_name(obj, except_result)
391
+ return cls._callable_name(obj, except_result)
354
392
 
355
- def callable_ref(self, obj, except_result=None):
393
+ @classmethod
394
+ def callable_ref(cls, obj, except_result=None):
356
395
  """
357
396
  获取可调用对象的引用。
358
397
 
@@ -360,9 +399,10 @@ class MortalBases(MortalBasesMain):
360
399
  :param except_result: 获取失败时返回的默认值,默认为 None。
361
400
  :return: 可调用对象的引用或默认值。
362
401
  """
363
- return self._callable_ref(obj, except_result)
402
+ return cls._callable_ref(obj, except_result)
364
403
 
365
- def callable_obj(self, ref, except_result=None):
404
+ @classmethod
405
+ def callable_obj(cls, ref, except_result=None):
366
406
  """
367
407
  通过引用获取可调用对象。
368
408
 
@@ -370,9 +410,10 @@ class MortalBases(MortalBasesMain):
370
410
  :param except_result: 获取失败时返回的默认值,默认为 None。
371
411
  :return: 可调用对象或默认值。
372
412
  """
373
- return self._callable_obj(ref, except_result)
413
+ return cls._callable_obj(ref, except_result)
374
414
 
375
- def callable_convert_obj(self, obj, except_result=None):
415
+ @classmethod
416
+ def callable_convert_obj(cls, obj, except_result=None):
376
417
  """
377
418
  将对象转换为可调用对象。
378
419
 
@@ -380,9 +421,10 @@ class MortalBases(MortalBasesMain):
380
421
  :param except_result: 转换失败时返回的默认值,默认为 None。
381
422
  :return: 转换后的可调用对象或默认值。
382
423
  """
383
- return self._callable_convert_obj(obj, except_result)
424
+ return cls._callable_convert_obj(obj, except_result)
384
425
 
385
- def callable_check_args(self, func, args, kwargs):
426
+ @classmethod
427
+ def callable_check_args(cls, func, args, kwargs):
386
428
  """
387
429
  检查可调用对象的参数是否匹配。
388
430
 
@@ -391,9 +433,10 @@ class MortalBases(MortalBasesMain):
391
433
  :param kwargs: 关键字参数。
392
434
  :return: 参数匹配返回 True,否则返回 False。
393
435
  """
394
- return self._callable_check_args(func, args, kwargs)
436
+ return cls._callable_check_args(func, args, kwargs)
395
437
 
396
- def callable_coroutine(self, obj, except_result=None):
438
+ @classmethod
439
+ def callable_coroutine(cls, obj, except_result=None):
397
440
  """
398
441
  将对象转换为协程对象。
399
442
 
@@ -401,9 +444,10 @@ class MortalBases(MortalBasesMain):
401
444
  :param except_result: 转换失败时返回的默认值,默认为 None。
402
445
  :return: 转换后的协程对象或默认值。
403
446
  """
404
- return self._callable_coroutine(obj, except_result)
447
+ return cls._callable_coroutine(obj, except_result)
405
448
 
406
- def time_datetime(self, obj, except_result=None):
449
+ @classmethod
450
+ def time_datetime(cls, obj, except_result=None):
407
451
  """
408
452
  将对象转换为 datetime 对象。
409
453
 
@@ -411,9 +455,10 @@ class MortalBases(MortalBasesMain):
411
455
  :param except_result: 转换失败时返回的默认值,默认为 None。
412
456
  :return: 转换后的 datetime 对象或默认值。
413
457
  """
414
- return self._time_datetime(obj, except_result)
458
+ return cls._time_datetime(obj, except_result)
415
459
 
416
- def time_timestamp(self, obj, except_result=None):
460
+ @classmethod
461
+ def time_timestamp(cls, obj, except_result=None):
417
462
  """
418
463
  将对象转换为时间戳。
419
464
 
@@ -421,9 +466,10 @@ class MortalBases(MortalBasesMain):
421
466
  :param except_result: 转换失败时返回的默认值,默认为 None。
422
467
  :return: 转换后的时间戳或默认值。
423
468
  """
424
- return self._time_timestamp(obj, except_result)
469
+ return cls._time_timestamp(obj, except_result)
425
470
 
426
- def time_ceil(self, obj, except_result=None):
471
+ @classmethod
472
+ def time_ceil(cls, obj, except_result=None):
427
473
  """
428
474
  将时间对象向上取整。
429
475
 
@@ -431,9 +477,10 @@ class MortalBases(MortalBasesMain):
431
477
  :param except_result: 取整失败时返回的默认值,默认为 None。
432
478
  :return: 取整后的时间对象或默认值。
433
479
  """
434
- return self._time_ceil(obj, except_result)
480
+ return cls._time_ceil(obj, except_result)
435
481
 
436
- def time_date(self, obj, except_result=None):
482
+ @classmethod
483
+ def time_date(cls, obj, except_result=None):
437
484
  """
438
485
  将对象转换为日期对象。
439
486
 
@@ -441,9 +488,10 @@ class MortalBases(MortalBasesMain):
441
488
  :param except_result: 转换失败时返回的默认值,默认为 None。
442
489
  :return: 转换后的日期对象或默认值。
443
490
  """
444
- return self._time_date(obj, except_result)
491
+ return cls._time_date(obj, except_result)
445
492
 
446
- def time_str(self, obj, fmt="%Y-%m-%d %H:%M:%S.%f", except_result=None):
493
+ @classmethod
494
+ def time_str(cls, obj, fmt="%Y-%m-%d %H:%M:%S.%f", except_result=None):
447
495
  """
448
496
  将时间对象转换为指定格式的字符串。
449
497
 
@@ -452,9 +500,10 @@ class MortalBases(MortalBasesMain):
452
500
  :param except_result: 如果转换失败,返回的默认值。
453
501
  :return: 格式化后的时间字符串,如果转换失败则返回except_result。
454
502
  """
455
- return self._time_str(obj, fmt, except_result)
503
+ return cls._time_str(obj, fmt, except_result)
456
504
 
457
- def time_timezone(self, obj, except_result=None):
505
+ @classmethod
506
+ def time_timezone(cls, obj, except_result=None):
458
507
  """
459
508
  获取时间对象的时区信息。
460
509
 
@@ -462,9 +511,10 @@ class MortalBases(MortalBasesMain):
462
511
  :param except_result: 如果获取时区信息失败,返回的默认值。
463
512
  :return: 时区信息,如果获取失败则返回except_result。
464
513
  """
465
- return self._time_timezone(obj, except_result)
514
+ return cls._time_timezone(obj, except_result)
466
515
 
467
- def time_timezone_datetime(self, obj, tz, except_result=None):
516
+ @classmethod
517
+ def time_timezone_datetime(cls, obj, tz, except_result=None):
468
518
  """
469
519
  将时间对象转换为指定时区的datetime对象。
470
520
 
@@ -473,9 +523,10 @@ class MortalBases(MortalBasesMain):
473
523
  :param except_result: 如果转换失败,返回的默认值。
474
524
  :return: 转换后的datetime对象,如果转换失败则返回except_result。
475
525
  """
476
- return self._time_timezone_datetime(obj, tz, except_result)
526
+ return cls._time_timezone_datetime(obj, tz, except_result)
477
527
 
478
- def time_seconds(self, obj, except_result=None):
528
+ @classmethod
529
+ def time_seconds(cls, obj, except_result=None):
479
530
  """
480
531
  将时间对象转换为秒数。
481
532
 
@@ -483,18 +534,20 @@ class MortalBases(MortalBasesMain):
483
534
  :param except_result: 如果转换失败,返回的默认值。
484
535
  :return: 时间对象的秒数表示,如果转换失败则返回except_result。
485
536
  """
486
- return self._time_seconds(obj, except_result)
537
+ return cls._time_seconds(obj, except_result)
487
538
 
488
- def time_normalize(self, obj):
539
+ @classmethod
540
+ def time_normalize(cls, obj):
489
541
  """
490
542
  规范化时间对象,去除时区信息。
491
543
 
492
544
  :param obj: 时间对象,可以是datetime、timestamp等。
493
545
  :return: 规范化后的datetime对象。
494
546
  """
495
- return self._time_normalize(obj)
547
+ return cls._time_normalize(obj)
496
548
 
497
- def time_localize(self, obj, tz):
549
+ @classmethod
550
+ def time_localize(cls, obj, tz):
498
551
  """
499
552
  将时间对象本地化到指定时区。
500
553
 
@@ -502,4 +555,4 @@ class MortalBases(MortalBasesMain):
502
555
  :param tz: 目标时区。
503
556
  :return: 本地化后的datetime对象。
504
557
  """
505
- return self._time_localize(obj, tz)
558
+ return cls._time_localize(obj, tz)
Binary file
mortal_bases/base_main.so CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mortal-bases
3
- Version: 4.0.2
3
+ Version: 4.0.6
4
4
  Summary: 'mortal工具集::bases'
5
5
  Author: MJ
6
6
  License: UNKNOWN
@@ -1,30 +1,30 @@
1
- mortal_bases/__init__.py,sha256=jE56ikji5cmr5lIue3T1i8Dd7yaoAzjv8uHRk3vPReQ,20000
2
- mortal_bases/base_main.pyd,sha256=XDdFoXAXHbjueYg91A_ROvELQOdq77RvT4-OMks-8bs,53248
3
- mortal_bases/base_main.so,sha256=huq0lpR-04dO9KGqUdZvwbZyi4oMXo1cF7_ZrcccXmw,251864
1
+ mortal_bases/__init__.py,sha256=zM7jGXV-Nnw0BtKyykd9uiAjnYNrxvN_6fTgwoNMlGk,21188
2
+ mortal_bases/base_main.pyd,sha256=6ka2rW_ZsN8BeKTqGT6lstBatPUN2thLBEKF2VX1D3o,29696
3
+ mortal_bases/base_main.so,sha256=kv6Rqndq4cfcVYx-RyrQOCSsQP8FmMeXDmVNKPBcNGE,103624
4
4
  mortal_bases/bases/__init__.py,sha256=ZnVw5ja4ExoyMmUkfMGj0cqPw9nEXPHWs0iAZlLmTtw,157
5
- mortal_bases/bases/auth_base.pyd,sha256=4JsSFGwjErxBHiBdv-ZWog1ZBYh0eGjlnLUs8GFTX0Q,111104
5
+ mortal_bases/bases/auth_base.pyd,sha256=A6VmW2KS6hRpotiw_fUB3ViAjq9dc48RxRbd81DJwhQ,111104
6
6
  mortal_bases/bases/auth_base.so,sha256=L63pUuZl1YNBm5X5Bv2cRz0Km4-OGWkmwfDMe5NkZzw,662536
7
7
  mortal_bases/bases/auth_code_base.pyd,sha256=gNZucCKp9lKp_-GytAAq_gGCsZlvILgoTTx1JZLofes,22016
8
8
  mortal_bases/bases/auth_code_base.so,sha256=NWc2Qu-fsmVClr7zVCvlj1GvRwAcEFE_lnK6bb_FhA4,69984
9
9
  mortal_bases/bases/auth_json_base.pyd,sha256=QXDvZ63udPKfygW5GB7lQVdbCZlSB6RT8mWHFOYLoCA,29184
10
10
  mortal_bases/bases/auth_json_base.so,sha256=JzNuRyrMylVfbzo5zDMDxaD6C_HdQZRw3fL98yocrIQ,94336
11
- mortal_bases/bases/callable_base.pyd,sha256=hD1RkymiFCi7d3s3w4S4pWDji1CQ35AIaHaxSSYQoxA,97280
11
+ mortal_bases/bases/callable_base.pyd,sha256=O0A99lxJBeEaQp4As4AWWtTJRVkWFoCgeK5p2vSaVsE,97280
12
12
  mortal_bases/bases/callable_base.so,sha256=eLCCWnv01Vrfh51rnii27dYIUV43_XNLu1UaVLMERcw,537376
13
- mortal_bases/bases/common_base.pyd,sha256=MtQ68c0uw6V9mf_2OhWrb-6LeJGyqlGo_NAIgaIqm20,71680
13
+ mortal_bases/bases/common_base.pyd,sha256=Vt96jq9UuLuRdVjNk9lkNGvDTZWqf_8S1HcqRNVS0RA,71680
14
14
  mortal_bases/bases/common_base.so,sha256=waqk9KFt29_nDZ4TgiOKSy0uWqnZJx0arBW1vlK97Kk,350880
15
15
  mortal_bases/bases/dataframe_base.pyd,sha256=-crIfJhfo80oDj0JzrKDNVWXcHB0FC54XEIiKpBQHyY,43520
16
16
  mortal_bases/bases/dataframe_base.so,sha256=Yw5Z2ZbzmL5CoKGsYJzrckZVQgFV_RWCKeymjci56wg,213536
17
- mortal_bases/bases/decorator_base.pyd,sha256=E98lVv-LUL_4BKuW716NiaZh2gJ6WWX0DYs9CkmqwNc,50176
17
+ mortal_bases/bases/decorator_base.pyd,sha256=rMwGLm9V8PC1lt6EEY4jAd5YjeNsXQP-m0xjhjg7d_c,50176
18
18
  mortal_bases/bases/decorator_base.so,sha256=-P8KP2l5TrKvSmmAhUtJ_34-WQn-IHLCXLT2CnAYXo8,252048
19
- mortal_bases/bases/dict_base.pyd,sha256=QEHzvUZw8KuFEMFU3qC3KS0B_BKibEexRXDz1mQNWV0,79360
19
+ mortal_bases/bases/dict_base.pyd,sha256=6fix-ur0Ew3Mbyu1Vbdsb2bg1N7wvucsbrd9_FQ8BaQ,79360
20
20
  mortal_bases/bases/dict_base.so,sha256=xgqnk9bmIKoTVuD0Cbah_jo6zG8eZzYy4yFPdfp24fg,464632
21
- mortal_bases/bases/list_base.pyd,sha256=Vhzs2Lp_p6G8qb8ADmHjH0uSa4MR9edf-0CUe95N0Zo,45056
21
+ mortal_bases/bases/list_base.pyd,sha256=X3z1HYaVD4avdT8UoxPclpCj26DG7CnIi6hIsSZo9Yw,45056
22
22
  mortal_bases/bases/list_base.so,sha256=bv_ephKw1a7NilOIO-vkGsDT0-ImATj1RRQvoT52KM0,213640
23
- mortal_bases/bases/path_base.pyd,sha256=9FBh5HV5q-8J0Y1C5TyKFlSQ013n_ybRBTIuib7BGO8,125440
24
- mortal_bases/bases/path_base.so,sha256=IwN4oCE_5ZD__fLsiNbkIcPq-l4N3fRkhqpoagyBHhQ,795232
25
- mortal_bases/bases/time_base.pyd,sha256=Zv4DxtgH8h5IMXKna68D-q6F8mbq6-ULgDe0r6se1Xk,129536
23
+ mortal_bases/bases/path_base.pyd,sha256=rjPa63fUao6hpCjYD-iQScJ5QMV0AX7zwDYLGBLUiBk,128512
24
+ mortal_bases/bases/path_base.so,sha256=JchFQWosLo1Tb7lVEQF3seAH9titcVSz-7md4e_8B5o,813968
25
+ mortal_bases/bases/time_base.pyd,sha256=be_q79PopkKM3sulLhkksrqYiVVcob_J3gh02I7_Vu8,129536
26
26
  mortal_bases/bases/time_base.so,sha256=3wzUt1pizJuFWMgauHCPhwTDABQTXL74hfTbIXOinYg,751776
27
- mortal_bases-4.0.2.dist-info/METADATA,sha256=Tw_oeJ14FzAqf4vtGwZshjsM4nqX-khkHWM3eaFesNI,512
28
- mortal_bases-4.0.2.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
29
- mortal_bases-4.0.2.dist-info/top_level.txt,sha256=YQrxi6Bc5goy2D3PDn9z4-K6DkVWeM21uRlljJgOmGg,13
30
- mortal_bases-4.0.2.dist-info/RECORD,,
27
+ mortal_bases-4.0.6.dist-info/METADATA,sha256=i4bkLXiwIXPSI-80oJpgX0Ao7h9V2G2kJoFuTftJ2zI,512
28
+ mortal_bases-4.0.6.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
29
+ mortal_bases-4.0.6.dist-info/top_level.txt,sha256=YQrxi6Bc5goy2D3PDn9z4-K6DkVWeM21uRlljJgOmGg,13
30
+ mortal_bases-4.0.6.dist-info/RECORD,,