jit-utils-backend 0.0.1__tar.gz → 0.0.2__tar.gz
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.
- {jit-utils-backend-0.0.1/jit_utils_backend.egg-info → jit_utils_backend-0.0.2}/PKG-INFO +19 -18
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/README.md +15 -11
- jit_utils_backend-0.0.2/jit_utils/__init__.py +24 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2/jit_utils_backend.egg-info}/PKG-INFO +18 -17
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/setup.py +5 -10
- jit_utils_backend-0.0.2/tests/test_package_imports.py +190 -0
- jit-utils-backend-0.0.1/jit_utils/__init__.py +0 -152
- jit-utils-backend-0.0.1/tests/test_package_imports.py +0 -199
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/MANIFEST.in +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/apiAuthSign.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/barcode.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/clsTool.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/config/__init__.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/config/case.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/config/config.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/config/exception.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/config/field.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/convert.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/decorator.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/exceptions.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/forwarder.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/matchTool.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/network.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/qrcode.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/signature.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/spaceSender.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/string.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/time.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/validator.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils/workday_constants.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils_backend.egg-info/SOURCES.txt +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils_backend.egg-info/dependency_links.txt +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils_backend.egg-info/requires.txt +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils_backend.egg-info/top_level.txt +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/setup.cfg +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/tests/__init__.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/tests/run_tests.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/tests/test_qrcode_barcode.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/tests/test_string_utils.py +0 -0
- {jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/tests/test_time_utils.py +0 -0
@@ -1,12 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
|
-
Name:
|
3
|
-
Version: 0.0.
|
2
|
+
Name: jit_utils_backend
|
3
|
+
Version: 0.0.2
|
4
4
|
Summary: 极态后端工具包
|
5
|
-
Author:
|
6
|
-
Author-email:
|
7
|
-
Project-URL: Documentation, https://github.com/zangtao/jit-utils-backend
|
8
|
-
Project-URL: Source, https://github.com/zangtao/jit-utils-backend
|
9
|
-
Project-URL: Tracker, https://github.com/zangtao/jit-utils-backend/issues
|
5
|
+
Author: JitAi
|
6
|
+
Author-email: develop@wanyunapp.com
|
10
7
|
Keywords: python,jit,sdk,apiAuth,utils,backend
|
11
8
|
Classifier: Development Status :: 3 - Alpha
|
12
9
|
Classifier: Intended Audience :: Developers
|
@@ -32,7 +29,7 @@ Description-Content-Type: text/markdown
|
|
32
29
|
## 安装
|
33
30
|
|
34
31
|
```bash
|
35
|
-
pip install
|
32
|
+
pip install jit_utils_backend
|
36
33
|
```
|
37
34
|
|
38
35
|
## 使用方法
|
@@ -43,11 +40,15 @@ pip install jit-utils-backend
|
|
43
40
|
# 导入整个包
|
44
41
|
import jit_utils
|
45
42
|
|
46
|
-
#
|
47
|
-
from jit_utils import now
|
43
|
+
# 导入特定功能(从具体的子模块)
|
44
|
+
from jit_utils.time import now
|
45
|
+
from jit_utils.string import randomString
|
46
|
+
from jit_utils.qrcode import Qrcode
|
47
|
+
from jit_utils.barcode import Barcode
|
48
48
|
|
49
49
|
# 导入特定模块
|
50
|
-
|
50
|
+
import jit_utils.time
|
51
|
+
import jit_utils.string
|
51
52
|
```
|
52
53
|
|
53
54
|
## 主要功能
|
@@ -55,7 +56,7 @@ from jit_utils import time_utils, string_utils
|
|
55
56
|
### 1. 时间处理工具
|
56
57
|
|
57
58
|
```python
|
58
|
-
from jit_utils import now, today, dayShift, formatNow
|
59
|
+
from jit_utils.time import now, today, dayShift, formatNow
|
59
60
|
|
60
61
|
# 获取当前时间
|
61
62
|
current_time = now()
|
@@ -73,7 +74,7 @@ formatted_time = formatNow("%Y-%m-%d %H:%M:%S")
|
|
73
74
|
### 2. 字符串处理工具
|
74
75
|
|
75
76
|
```python
|
76
|
-
from jit_utils import randomString, md5Str, getUuidStr
|
77
|
+
from jit_utils.string import randomString, md5Str, getUuidStr
|
77
78
|
|
78
79
|
# 生成随机字符串
|
79
80
|
random_str = randomString(8)
|
@@ -88,7 +89,7 @@ uuid_str = getUuidStr()
|
|
88
89
|
### 3. 二维码生成
|
89
90
|
|
90
91
|
```python
|
91
|
-
from jit_utils import Qrcode
|
92
|
+
from jit_utils.qrcode import Qrcode
|
92
93
|
|
93
94
|
# 创建二维码
|
94
95
|
qr = Qrcode("https://example.com")
|
@@ -103,7 +104,7 @@ qr_str = qr.toStr()
|
|
103
104
|
### 4. 条形码生成
|
104
105
|
|
105
106
|
```python
|
106
|
-
from jit_utils import Barcode
|
107
|
+
from jit_utils.barcode import Barcode
|
107
108
|
|
108
109
|
# 创建条形码
|
109
110
|
barcode = Barcode("123456789")
|
@@ -118,7 +119,7 @@ barcode_str = barcode.toStr()
|
|
118
119
|
### 5. 数据验证
|
119
120
|
|
120
121
|
```python
|
121
|
-
from jit_utils import ParamsValidator
|
122
|
+
from jit_utils.validator import ParamsValidator
|
122
123
|
from dataclasses import dataclass
|
123
124
|
|
124
125
|
@dataclass
|
@@ -134,7 +135,7 @@ params = UserParams("test_function", name="John", age=25)
|
|
134
135
|
### 6. 装饰器
|
135
136
|
|
136
137
|
```python
|
137
|
-
from jit_utils import forward
|
138
|
+
from jit_utils.decorator import forward
|
138
139
|
|
139
140
|
@forward("module.submodule")
|
140
141
|
def my_function():
|
@@ -175,4 +176,4 @@ zangtao (noguchisyou123456@gmail.com)
|
|
175
176
|
|
176
177
|
## 版本
|
177
178
|
|
178
|
-
0.0.
|
179
|
+
0.0.2
|
@@ -5,7 +5,7 @@
|
|
5
5
|
## 安装
|
6
6
|
|
7
7
|
```bash
|
8
|
-
pip install
|
8
|
+
pip install jit_utils_backend
|
9
9
|
```
|
10
10
|
|
11
11
|
## 使用方法
|
@@ -16,11 +16,15 @@ pip install jit-utils-backend
|
|
16
16
|
# 导入整个包
|
17
17
|
import jit_utils
|
18
18
|
|
19
|
-
#
|
20
|
-
from jit_utils import now
|
19
|
+
# 导入特定功能(从具体的子模块)
|
20
|
+
from jit_utils.time import now
|
21
|
+
from jit_utils.string import randomString
|
22
|
+
from jit_utils.qrcode import Qrcode
|
23
|
+
from jit_utils.barcode import Barcode
|
21
24
|
|
22
25
|
# 导入特定模块
|
23
|
-
|
26
|
+
import jit_utils.time
|
27
|
+
import jit_utils.string
|
24
28
|
```
|
25
29
|
|
26
30
|
## 主要功能
|
@@ -28,7 +32,7 @@ from jit_utils import time_utils, string_utils
|
|
28
32
|
### 1. 时间处理工具
|
29
33
|
|
30
34
|
```python
|
31
|
-
from jit_utils import now, today, dayShift, formatNow
|
35
|
+
from jit_utils.time import now, today, dayShift, formatNow
|
32
36
|
|
33
37
|
# 获取当前时间
|
34
38
|
current_time = now()
|
@@ -46,7 +50,7 @@ formatted_time = formatNow("%Y-%m-%d %H:%M:%S")
|
|
46
50
|
### 2. 字符串处理工具
|
47
51
|
|
48
52
|
```python
|
49
|
-
from jit_utils import randomString, md5Str, getUuidStr
|
53
|
+
from jit_utils.string import randomString, md5Str, getUuidStr
|
50
54
|
|
51
55
|
# 生成随机字符串
|
52
56
|
random_str = randomString(8)
|
@@ -61,7 +65,7 @@ uuid_str = getUuidStr()
|
|
61
65
|
### 3. 二维码生成
|
62
66
|
|
63
67
|
```python
|
64
|
-
from jit_utils import Qrcode
|
68
|
+
from jit_utils.qrcode import Qrcode
|
65
69
|
|
66
70
|
# 创建二维码
|
67
71
|
qr = Qrcode("https://example.com")
|
@@ -76,7 +80,7 @@ qr_str = qr.toStr()
|
|
76
80
|
### 4. 条形码生成
|
77
81
|
|
78
82
|
```python
|
79
|
-
from jit_utils import Barcode
|
83
|
+
from jit_utils.barcode import Barcode
|
80
84
|
|
81
85
|
# 创建条形码
|
82
86
|
barcode = Barcode("123456789")
|
@@ -91,7 +95,7 @@ barcode_str = barcode.toStr()
|
|
91
95
|
### 5. 数据验证
|
92
96
|
|
93
97
|
```python
|
94
|
-
from jit_utils import ParamsValidator
|
98
|
+
from jit_utils.validator import ParamsValidator
|
95
99
|
from dataclasses import dataclass
|
96
100
|
|
97
101
|
@dataclass
|
@@ -107,7 +111,7 @@ params = UserParams("test_function", name="John", age=25)
|
|
107
111
|
### 6. 装饰器
|
108
112
|
|
109
113
|
```python
|
110
|
-
from jit_utils import forward
|
114
|
+
from jit_utils.decorator import forward
|
111
115
|
|
112
116
|
@forward("module.submodule")
|
113
117
|
def my_function():
|
@@ -148,4 +152,4 @@ zangtao (noguchisyou123456@gmail.com)
|
|
148
152
|
|
149
153
|
## 版本
|
150
154
|
|
151
|
-
0.0.
|
155
|
+
0.0.2
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*-coding:utf-8-*-
|
2
|
+
"""
|
3
|
+
JIT Utils Backend - 极态后端工具包
|
4
|
+
|
5
|
+
A comprehensive utility package for backend development with JIT.
|
6
|
+
|
7
|
+
主要功能:
|
8
|
+
- 时间处理工具
|
9
|
+
- 字符串处理工具
|
10
|
+
- 二维码和条形码生成
|
11
|
+
- 数据验证
|
12
|
+
- 网络工具
|
13
|
+
- 签名工具
|
14
|
+
等等...
|
15
|
+
|
16
|
+
使用方法:
|
17
|
+
from jit_utils.string import randomString
|
18
|
+
from jit_utils.time import now
|
19
|
+
from jit_utils.qrcode import Qrcode
|
20
|
+
...
|
21
|
+
"""
|
22
|
+
|
23
|
+
__version__ = '0.0.2'
|
24
|
+
__author__ = 'zangtao'
|
@@ -1,12 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: jit-utils-backend
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.2
|
4
4
|
Summary: 极态后端工具包
|
5
|
-
Author:
|
6
|
-
Author-email:
|
7
|
-
Project-URL: Documentation, https://github.com/zangtao/jit-utils-backend
|
8
|
-
Project-URL: Source, https://github.com/zangtao/jit-utils-backend
|
9
|
-
Project-URL: Tracker, https://github.com/zangtao/jit-utils-backend/issues
|
5
|
+
Author: JitAi
|
6
|
+
Author-email: develop@wanyunapp.com
|
10
7
|
Keywords: python,jit,sdk,apiAuth,utils,backend
|
11
8
|
Classifier: Development Status :: 3 - Alpha
|
12
9
|
Classifier: Intended Audience :: Developers
|
@@ -32,7 +29,7 @@ Description-Content-Type: text/markdown
|
|
32
29
|
## 安装
|
33
30
|
|
34
31
|
```bash
|
35
|
-
pip install
|
32
|
+
pip install jit_utils_backend
|
36
33
|
```
|
37
34
|
|
38
35
|
## 使用方法
|
@@ -43,11 +40,15 @@ pip install jit-utils-backend
|
|
43
40
|
# 导入整个包
|
44
41
|
import jit_utils
|
45
42
|
|
46
|
-
#
|
47
|
-
from jit_utils import now
|
43
|
+
# 导入特定功能(从具体的子模块)
|
44
|
+
from jit_utils.time import now
|
45
|
+
from jit_utils.string import randomString
|
46
|
+
from jit_utils.qrcode import Qrcode
|
47
|
+
from jit_utils.barcode import Barcode
|
48
48
|
|
49
49
|
# 导入特定模块
|
50
|
-
|
50
|
+
import jit_utils.time
|
51
|
+
import jit_utils.string
|
51
52
|
```
|
52
53
|
|
53
54
|
## 主要功能
|
@@ -55,7 +56,7 @@ from jit_utils import time_utils, string_utils
|
|
55
56
|
### 1. 时间处理工具
|
56
57
|
|
57
58
|
```python
|
58
|
-
from jit_utils import now, today, dayShift, formatNow
|
59
|
+
from jit_utils.time import now, today, dayShift, formatNow
|
59
60
|
|
60
61
|
# 获取当前时间
|
61
62
|
current_time = now()
|
@@ -73,7 +74,7 @@ formatted_time = formatNow("%Y-%m-%d %H:%M:%S")
|
|
73
74
|
### 2. 字符串处理工具
|
74
75
|
|
75
76
|
```python
|
76
|
-
from jit_utils import randomString, md5Str, getUuidStr
|
77
|
+
from jit_utils.string import randomString, md5Str, getUuidStr
|
77
78
|
|
78
79
|
# 生成随机字符串
|
79
80
|
random_str = randomString(8)
|
@@ -88,7 +89,7 @@ uuid_str = getUuidStr()
|
|
88
89
|
### 3. 二维码生成
|
89
90
|
|
90
91
|
```python
|
91
|
-
from jit_utils import Qrcode
|
92
|
+
from jit_utils.qrcode import Qrcode
|
92
93
|
|
93
94
|
# 创建二维码
|
94
95
|
qr = Qrcode("https://example.com")
|
@@ -103,7 +104,7 @@ qr_str = qr.toStr()
|
|
103
104
|
### 4. 条形码生成
|
104
105
|
|
105
106
|
```python
|
106
|
-
from jit_utils import Barcode
|
107
|
+
from jit_utils.barcode import Barcode
|
107
108
|
|
108
109
|
# 创建条形码
|
109
110
|
barcode = Barcode("123456789")
|
@@ -118,7 +119,7 @@ barcode_str = barcode.toStr()
|
|
118
119
|
### 5. 数据验证
|
119
120
|
|
120
121
|
```python
|
121
|
-
from jit_utils import ParamsValidator
|
122
|
+
from jit_utils.validator import ParamsValidator
|
122
123
|
from dataclasses import dataclass
|
123
124
|
|
124
125
|
@dataclass
|
@@ -134,7 +135,7 @@ params = UserParams("test_function", name="John", age=25)
|
|
134
135
|
### 6. 装饰器
|
135
136
|
|
136
137
|
```python
|
137
|
-
from jit_utils import forward
|
138
|
+
from jit_utils.decorator import forward
|
138
139
|
|
139
140
|
@forward("module.submodule")
|
140
141
|
def my_function():
|
@@ -175,4 +176,4 @@ zangtao (noguchisyou123456@gmail.com)
|
|
175
176
|
|
176
177
|
## 版本
|
177
178
|
|
178
|
-
0.0.
|
179
|
+
0.0.2
|
@@ -10,12 +10,12 @@ Created on 2024/11/13
|
|
10
10
|
from setuptools import setup, find_packages
|
11
11
|
from pathlib import Path
|
12
12
|
|
13
|
-
__lib_name__ = '
|
13
|
+
__lib_name__ = 'jit_utils_backend'
|
14
14
|
|
15
15
|
this_directory = Path(__file__).parent
|
16
16
|
read_me_path = this_directory / "README.md"
|
17
17
|
|
18
|
-
VERSION = '0.0.
|
18
|
+
VERSION = '0.0.2'
|
19
19
|
DESCRIPTION = '极态后端工具包'
|
20
20
|
|
21
21
|
# 处理 README.md 文件
|
@@ -29,8 +29,8 @@ setup(
|
|
29
29
|
# 名称必须匹配文件名 'jit-utils-backend'
|
30
30
|
name=__lib_name__,
|
31
31
|
version=VERSION,
|
32
|
-
author="
|
33
|
-
author_email="
|
32
|
+
author="JitAi",
|
33
|
+
author_email="develop@wanyunapp.com",
|
34
34
|
description=DESCRIPTION,
|
35
35
|
long_description=LONG_DESCRIPTION,
|
36
36
|
long_description_content_type="text/markdown",
|
@@ -58,10 +58,5 @@ setup(
|
|
58
58
|
"Operating System :: POSIX :: Linux",
|
59
59
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
60
60
|
"License :: OSI Approved :: MIT License",
|
61
|
-
]
|
62
|
-
project_urls={
|
63
|
-
"Documentation": "https://github.com/zangtao/jit-utils-backend",
|
64
|
-
"Source": "https://github.com/zangtao/jit-utils-backend",
|
65
|
-
"Tracker": "https://github.com/zangtao/jit-utils-backend/issues",
|
66
|
-
},
|
61
|
+
]
|
67
62
|
)
|
@@ -0,0 +1,190 @@
|
|
1
|
+
# -*-coding:utf-8-*-
|
2
|
+
"""
|
3
|
+
测试包的子模块导入功能
|
4
|
+
"""
|
5
|
+
import unittest
|
6
|
+
|
7
|
+
|
8
|
+
class TestPackageImports(unittest.TestCase):
|
9
|
+
"""包导入测试类"""
|
10
|
+
|
11
|
+
def test_main_package_import(self):
|
12
|
+
"""测试主包导入"""
|
13
|
+
try:
|
14
|
+
import jit_utils
|
15
|
+
self.assertTrue(hasattr(jit_utils, '__version__'))
|
16
|
+
self.assertTrue(hasattr(jit_utils, '__author__'))
|
17
|
+
self.assertEqual(jit_utils.__version__, '0.0.2')
|
18
|
+
self.assertEqual(jit_utils.__author__, 'zangtao')
|
19
|
+
except ImportError as e:
|
20
|
+
self.fail(f"主包导入失败: {e}")
|
21
|
+
|
22
|
+
def test_string_module_import(self):
|
23
|
+
"""测试字符串模块导入"""
|
24
|
+
try:
|
25
|
+
from jit_utils.string import randomString, getUuidStr, md5Str
|
26
|
+
|
27
|
+
# 测试函数是否可调用
|
28
|
+
self.assertTrue(callable(randomString))
|
29
|
+
self.assertTrue(callable(getUuidStr))
|
30
|
+
self.assertTrue(callable(md5Str))
|
31
|
+
|
32
|
+
# 简单功能测试
|
33
|
+
random_str = randomString(6)
|
34
|
+
self.assertEqual(len(random_str), 6)
|
35
|
+
|
36
|
+
uuid_str = getUuidStr()
|
37
|
+
self.assertEqual(len(uuid_str), 32)
|
38
|
+
|
39
|
+
md5_hash = md5Str("test")
|
40
|
+
self.assertEqual(len(md5_hash), 32)
|
41
|
+
|
42
|
+
except ImportError as e:
|
43
|
+
self.skipTest(f"字符串模块导入失败: {e}")
|
44
|
+
|
45
|
+
def test_time_module_import(self):
|
46
|
+
"""测试时间模块导入"""
|
47
|
+
try:
|
48
|
+
from jit_utils.time import now, getTimestamp, formatNow
|
49
|
+
|
50
|
+
# 测试函数是否可调用
|
51
|
+
self.assertTrue(callable(now))
|
52
|
+
self.assertTrue(callable(getTimestamp))
|
53
|
+
self.assertTrue(callable(formatNow))
|
54
|
+
|
55
|
+
# 简单功能测试
|
56
|
+
current_time = now()
|
57
|
+
self.assertIsNotNone(current_time)
|
58
|
+
|
59
|
+
timestamp = getTimestamp()
|
60
|
+
self.assertIsInstance(timestamp, (int, float))
|
61
|
+
|
62
|
+
formatted_time = formatNow()
|
63
|
+
self.assertIsInstance(formatted_time, str)
|
64
|
+
|
65
|
+
except ImportError as e:
|
66
|
+
self.skipTest(f"时间模块导入失败(可能缺少依赖): {e}")
|
67
|
+
|
68
|
+
def test_qrcode_module_import(self):
|
69
|
+
"""测试二维码模块导入"""
|
70
|
+
try:
|
71
|
+
from jit_utils.qrcode import Qrcode
|
72
|
+
|
73
|
+
# 测试类是否可实例化
|
74
|
+
self.assertTrue(callable(Qrcode))
|
75
|
+
|
76
|
+
# 创建实例
|
77
|
+
qr = Qrcode("test")
|
78
|
+
self.assertEqual(qr.value, "test")
|
79
|
+
|
80
|
+
except ImportError as e:
|
81
|
+
self.skipTest(f"二维码模块导入失败(可能缺少依赖): {e}")
|
82
|
+
|
83
|
+
def test_barcode_module_import(self):
|
84
|
+
"""测试条形码模块导入"""
|
85
|
+
try:
|
86
|
+
from jit_utils.barcode import Barcode
|
87
|
+
|
88
|
+
# 测试类是否可实例化
|
89
|
+
self.assertTrue(callable(Barcode))
|
90
|
+
|
91
|
+
# 创建实例
|
92
|
+
bc = Barcode("123456789")
|
93
|
+
self.assertEqual(bc.value, "123456789")
|
94
|
+
|
95
|
+
except ImportError as e:
|
96
|
+
self.skipTest(f"条形码模块导入失败(可能缺少依赖): {e}")
|
97
|
+
|
98
|
+
def test_validator_module_import(self):
|
99
|
+
"""测试验证器模块导入"""
|
100
|
+
try:
|
101
|
+
from jit_utils.validator import ParamsValidator
|
102
|
+
self.assertTrue(callable(ParamsValidator))
|
103
|
+
except ImportError as e:
|
104
|
+
self.skipTest(f"验证器模块导入失败(可能缺少依赖): {e}")
|
105
|
+
|
106
|
+
def test_network_module_import(self):
|
107
|
+
"""测试网络模块导入"""
|
108
|
+
try:
|
109
|
+
import jit_utils.network
|
110
|
+
# 网络模块应该可以导入
|
111
|
+
self.assertIsNotNone(jit_utils.network)
|
112
|
+
except ImportError as e:
|
113
|
+
self.skipTest(f"网络模块导入失败: {e}")
|
114
|
+
|
115
|
+
def test_signature_module_import(self):
|
116
|
+
"""测试签名模块导入"""
|
117
|
+
try:
|
118
|
+
import jit_utils.signature
|
119
|
+
self.assertIsNotNone(jit_utils.signature)
|
120
|
+
except ImportError as e:
|
121
|
+
self.skipTest(f"签名模块导入失败: {e}")
|
122
|
+
|
123
|
+
def test_exceptions_module_import(self):
|
124
|
+
"""测试异常模块导入"""
|
125
|
+
try:
|
126
|
+
import jit_utils.exceptions
|
127
|
+
self.assertIsNotNone(jit_utils.exceptions)
|
128
|
+
except ImportError as e:
|
129
|
+
self.skipTest(f"异常模块导入失败(可能缺少依赖): {e}")
|
130
|
+
|
131
|
+
def test_config_module_import(self):
|
132
|
+
"""测试配置模块导入"""
|
133
|
+
try:
|
134
|
+
import jit_utils.config
|
135
|
+
self.assertIsNotNone(jit_utils.config)
|
136
|
+
except ImportError as e:
|
137
|
+
self.skipTest(f"配置模块导入失败(可能缺少依赖): {e}")
|
138
|
+
|
139
|
+
def test_workday_constants_import(self):
|
140
|
+
"""测试工作日常量导入"""
|
141
|
+
try:
|
142
|
+
import jit_utils.workday_constants
|
143
|
+
self.assertIsNotNone(jit_utils.workday_constants)
|
144
|
+
# 检查是否有工作日相关的常量
|
145
|
+
self.assertTrue(hasattr(jit_utils.workday_constants, 'holidayDict') or
|
146
|
+
hasattr(jit_utils.workday_constants, 'workdayDict'))
|
147
|
+
except ImportError as e:
|
148
|
+
self.skipTest(f"工作日常量模块导入失败: {e}")
|
149
|
+
|
150
|
+
def test_decorator_import(self):
|
151
|
+
"""测试装饰器导入"""
|
152
|
+
try:
|
153
|
+
from jit_utils.decorator import forward
|
154
|
+
self.assertTrue(callable(forward))
|
155
|
+
except ImportError as e:
|
156
|
+
self.skipTest(f"装饰器模块导入失败(可能缺少依赖): {e}")
|
157
|
+
|
158
|
+
def test_convert_module_import(self):
|
159
|
+
"""测试转换器模块导入"""
|
160
|
+
try:
|
161
|
+
from jit_utils.convert import Converter, MemoryCompiler
|
162
|
+
self.assertTrue(callable(Converter))
|
163
|
+
self.assertTrue(callable(MemoryCompiler))
|
164
|
+
except ImportError as e:
|
165
|
+
self.skipTest(f"转换器模块导入失败(可能缺少依赖): {e}")
|
166
|
+
|
167
|
+
def test_package_structure(self):
|
168
|
+
"""测试包结构"""
|
169
|
+
import jit_utils
|
170
|
+
|
171
|
+
# 检查主要模块是否存在
|
172
|
+
modules_to_check = [
|
173
|
+
'string', 'time', 'qrcode', 'barcode', 'validator',
|
174
|
+
'network', 'signature', 'exceptions', 'config',
|
175
|
+
'workday_constants', 'decorator', 'convert'
|
176
|
+
]
|
177
|
+
|
178
|
+
for module_name in modules_to_check:
|
179
|
+
try:
|
180
|
+
# 尝试导入模块
|
181
|
+
__import__(f'jit_utils.{module_name}')
|
182
|
+
# 如果导入成功,则通过测试
|
183
|
+
self.assertTrue(True, f"模块 {module_name} 可以导入")
|
184
|
+
except ImportError:
|
185
|
+
# 如果导入失败,跳过(可能是依赖问题)
|
186
|
+
self.skipTest(f"模块 {module_name} 导入失败(可能缺少依赖)")
|
187
|
+
|
188
|
+
|
189
|
+
if __name__ == '__main__':
|
190
|
+
unittest.main()
|
@@ -1,152 +0,0 @@
|
|
1
|
-
# -*-coding:utf-8-*-
|
2
|
-
"""
|
3
|
-
JIT Utils Backend - 极态后端工具包
|
4
|
-
|
5
|
-
A comprehensive utility package for backend development with JIT.
|
6
|
-
|
7
|
-
主要功能:
|
8
|
-
- 时间处理工具
|
9
|
-
- 字符串处理工具
|
10
|
-
- 二维码和条形码生成
|
11
|
-
- 数据验证
|
12
|
-
- 网络工具
|
13
|
-
- 签名工具
|
14
|
-
等等...
|
15
|
-
"""
|
16
|
-
|
17
|
-
__version__ = '0.0.1'
|
18
|
-
__author__ = 'zangtao'
|
19
|
-
|
20
|
-
# 导入主要的工具类和函数
|
21
|
-
try:
|
22
|
-
from .decorator import forward
|
23
|
-
except ImportError:
|
24
|
-
pass
|
25
|
-
|
26
|
-
# 时间工具
|
27
|
-
try:
|
28
|
-
from . import time as time_utils
|
29
|
-
# 导出一些常用的时间函数
|
30
|
-
from .time import (
|
31
|
-
now, today, get, dayShift,
|
32
|
-
monday, weekShift, monthStart, monthShift,
|
33
|
-
quarterStart, quarterShift, yearStart, yearShift,
|
34
|
-
getTimestamp, timeStampToDateTime, strToTimestamp,
|
35
|
-
formatNow, datetime2string, string2datetime
|
36
|
-
)
|
37
|
-
except ImportError:
|
38
|
-
pass
|
39
|
-
|
40
|
-
# 字符串工具
|
41
|
-
try:
|
42
|
-
from . import string as string_utils
|
43
|
-
from .string import (
|
44
|
-
randomString, randomNum, getUuidStr,
|
45
|
-
md5Bytes, md5Str, getFileMd5,
|
46
|
-
renderTemplateString
|
47
|
-
)
|
48
|
-
except ImportError:
|
49
|
-
pass
|
50
|
-
|
51
|
-
# 二维码工具
|
52
|
-
try:
|
53
|
-
from .qrcode import Qrcode
|
54
|
-
except ImportError:
|
55
|
-
Qrcode = None
|
56
|
-
|
57
|
-
# 条形码工具
|
58
|
-
try:
|
59
|
-
from .barcode import Barcode
|
60
|
-
except ImportError:
|
61
|
-
Barcode = None
|
62
|
-
|
63
|
-
# 验证工具
|
64
|
-
try:
|
65
|
-
from .validator import ParamsValidator
|
66
|
-
except ImportError:
|
67
|
-
ParamsValidator = None
|
68
|
-
|
69
|
-
# 网络工具
|
70
|
-
try:
|
71
|
-
from . import network
|
72
|
-
except ImportError:
|
73
|
-
pass
|
74
|
-
|
75
|
-
# 签名工具
|
76
|
-
try:
|
77
|
-
from . import signature
|
78
|
-
except ImportError:
|
79
|
-
pass
|
80
|
-
|
81
|
-
# 匹配工具
|
82
|
-
try:
|
83
|
-
from . import matchTool
|
84
|
-
except ImportError:
|
85
|
-
pass
|
86
|
-
|
87
|
-
# 类工具
|
88
|
-
try:
|
89
|
-
from . import clsTool
|
90
|
-
except ImportError:
|
91
|
-
pass
|
92
|
-
|
93
|
-
# 转换工具
|
94
|
-
try:
|
95
|
-
from .convert import Converter, MemoryCompiler
|
96
|
-
except ImportError:
|
97
|
-
# 如果导入失败,创建占位符避免 __all__ 报错
|
98
|
-
Converter = None
|
99
|
-
MemoryCompiler = None
|
100
|
-
|
101
|
-
# 异常处理
|
102
|
-
try:
|
103
|
-
from . import exceptions
|
104
|
-
except ImportError:
|
105
|
-
pass
|
106
|
-
|
107
|
-
# 工作日常量
|
108
|
-
try:
|
109
|
-
from . import workday_constants
|
110
|
-
except ImportError:
|
111
|
-
pass
|
112
|
-
|
113
|
-
# 配置相关
|
114
|
-
try:
|
115
|
-
from . import config
|
116
|
-
except ImportError:
|
117
|
-
pass
|
118
|
-
|
119
|
-
# 定义 __all__ 列表,控制 from jit_utils import * 的行为
|
120
|
-
__all__ = [
|
121
|
-
# 版本信息
|
122
|
-
'__version__',
|
123
|
-
'__author__',
|
124
|
-
|
125
|
-
# 装饰器
|
126
|
-
'forward',
|
127
|
-
|
128
|
-
# 时间工具
|
129
|
-
'time_utils',
|
130
|
-
'now', 'today', 'get', 'dayShift',
|
131
|
-
'monday', 'weekShift', 'monthStart', 'monthShift',
|
132
|
-
'quarterStart', 'quarterShift', 'yearStart', 'yearShift',
|
133
|
-
'getTimestamp', 'timeStampToDateTime', 'strToTimestamp',
|
134
|
-
'formatNow', 'datetime2string', 'string2datetime',
|
135
|
-
|
136
|
-
# 字符串工具
|
137
|
-
'string_utils',
|
138
|
-
'randomString', 'randomNum', 'getUuidStr',
|
139
|
-
'md5Bytes', 'md5Str', 'getFileMd5',
|
140
|
-
'renderTemplateString',
|
141
|
-
|
142
|
-
# 二维码和条形码
|
143
|
-
'Qrcode', 'Barcode',
|
144
|
-
|
145
|
-
# 验证工具
|
146
|
-
'ParamsValidator',
|
147
|
-
|
148
|
-
# 其他模块
|
149
|
-
'network', 'signature', 'matchTool',
|
150
|
-
'clsTool', 'exceptions', 'workday_constants',
|
151
|
-
'config', 'Converter', 'MemoryCompiler'
|
152
|
-
]
|
@@ -1,199 +0,0 @@
|
|
1
|
-
# -*-coding:utf-8-*-
|
2
|
-
"""
|
3
|
-
测试包的导入功能
|
4
|
-
"""
|
5
|
-
import unittest
|
6
|
-
|
7
|
-
|
8
|
-
class TestPackageImports(unittest.TestCase):
|
9
|
-
"""包导入测试类"""
|
10
|
-
|
11
|
-
def test_main_package_import(self):
|
12
|
-
"""测试主包导入"""
|
13
|
-
try:
|
14
|
-
import jit_utils
|
15
|
-
self.assertTrue(hasattr(jit_utils, '__version__'))
|
16
|
-
self.assertTrue(hasattr(jit_utils, '__author__'))
|
17
|
-
self.assertEqual(jit_utils.__version__, '0.0.1')
|
18
|
-
self.assertEqual(jit_utils.__author__, 'zangtao')
|
19
|
-
except ImportError as e:
|
20
|
-
self.fail(f"主包导入失败: {e}")
|
21
|
-
|
22
|
-
def test_string_functions_import(self):
|
23
|
-
"""测试字符串函数导入"""
|
24
|
-
try:
|
25
|
-
from jit_utils import randomString, getUuidStr, md5Str
|
26
|
-
|
27
|
-
# 测试函数是否可调用
|
28
|
-
self.assertTrue(callable(randomString))
|
29
|
-
self.assertTrue(callable(getUuidStr))
|
30
|
-
self.assertTrue(callable(md5Str))
|
31
|
-
|
32
|
-
# 简单功能测试
|
33
|
-
random_str = randomString(6)
|
34
|
-
self.assertEqual(len(random_str), 6)
|
35
|
-
|
36
|
-
uuid_str = getUuidStr()
|
37
|
-
self.assertEqual(len(uuid_str), 32)
|
38
|
-
|
39
|
-
md5_hash = md5Str("test")
|
40
|
-
self.assertEqual(len(md5_hash), 32)
|
41
|
-
|
42
|
-
except ImportError as e:
|
43
|
-
self.fail(f"字符串函数导入失败: {e}")
|
44
|
-
|
45
|
-
def test_qrcode_barcode_import(self):
|
46
|
-
"""测试二维码和条形码类导入"""
|
47
|
-
try:
|
48
|
-
from jit_utils import Qrcode, Barcode
|
49
|
-
|
50
|
-
# 如果因为依赖问题导入为 None,跳过测试
|
51
|
-
if Qrcode is None or Barcode is None:
|
52
|
-
self.skipTest("二维码/条形码类因依赖问题不可用")
|
53
|
-
|
54
|
-
# 测试类是否可实例化
|
55
|
-
self.assertTrue(callable(Qrcode))
|
56
|
-
self.assertTrue(callable(Barcode))
|
57
|
-
|
58
|
-
# 创建实例
|
59
|
-
qr = Qrcode("test")
|
60
|
-
bc = Barcode("123456789")
|
61
|
-
|
62
|
-
self.assertEqual(qr.value, "test")
|
63
|
-
self.assertEqual(bc.value, "123456789")
|
64
|
-
|
65
|
-
except ImportError as e:
|
66
|
-
self.skipTest(f"二维码/条形码类导入失败(可能缺少依赖): {e}")
|
67
|
-
|
68
|
-
def test_module_imports(self):
|
69
|
-
"""测试模块级导入"""
|
70
|
-
try:
|
71
|
-
from jit_utils import string_utils
|
72
|
-
self.assertTrue(hasattr(string_utils, 'randomString'))
|
73
|
-
self.assertTrue(hasattr(string_utils, 'md5Str'))
|
74
|
-
except ImportError as e:
|
75
|
-
self.fail(f"string_utils 模块导入失败: {e}")
|
76
|
-
|
77
|
-
# 时间模块可能有依赖问题
|
78
|
-
try:
|
79
|
-
from jit_utils import time_utils
|
80
|
-
# 如果导入成功,测试一些基本属性
|
81
|
-
self.assertTrue(hasattr(time_utils, 'getTimestamp'))
|
82
|
-
except ImportError as e:
|
83
|
-
self.skipTest(f"time_utils 模块导入失败(可能缺少依赖): {e}")
|
84
|
-
|
85
|
-
def test_network_module_import(self):
|
86
|
-
"""测试网络模块导入"""
|
87
|
-
try:
|
88
|
-
from jit_utils import network
|
89
|
-
# 网络模块应该可以导入
|
90
|
-
self.assertIsNotNone(network)
|
91
|
-
except ImportError as e:
|
92
|
-
self.skipTest(f"network 模块导入失败: {e}")
|
93
|
-
|
94
|
-
def test_signature_module_import(self):
|
95
|
-
"""测试签名模块导入"""
|
96
|
-
try:
|
97
|
-
from jit_utils import signature
|
98
|
-
self.assertIsNotNone(signature)
|
99
|
-
except ImportError as e:
|
100
|
-
self.skipTest(f"signature 模块导入失败: {e}")
|
101
|
-
|
102
|
-
def test_validator_import(self):
|
103
|
-
"""测试验证器导入"""
|
104
|
-
try:
|
105
|
-
from jit_utils import ParamsValidator
|
106
|
-
if ParamsValidator is None:
|
107
|
-
self.skipTest("ParamsValidator 因依赖问题不可用")
|
108
|
-
self.assertTrue(callable(ParamsValidator))
|
109
|
-
except ImportError as e:
|
110
|
-
self.skipTest(f"ParamsValidator 导入失败(可能缺少依赖): {e}")
|
111
|
-
|
112
|
-
def test_exceptions_module_import(self):
|
113
|
-
"""测试异常模块导入"""
|
114
|
-
try:
|
115
|
-
from jit_utils import exceptions
|
116
|
-
self.assertIsNotNone(exceptions)
|
117
|
-
except ImportError as e:
|
118
|
-
self.skipTest(f"exceptions 模块导入失败(可能缺少依赖): {e}")
|
119
|
-
|
120
|
-
def test_config_module_import(self):
|
121
|
-
"""测试配置模块导入"""
|
122
|
-
try:
|
123
|
-
from jit_utils import config
|
124
|
-
self.assertIsNotNone(config)
|
125
|
-
except ImportError as e:
|
126
|
-
self.skipTest(f"config 模块导入失败(可能缺少依赖): {e}")
|
127
|
-
|
128
|
-
def test_workday_constants_import(self):
|
129
|
-
"""测试工作日常量导入"""
|
130
|
-
try:
|
131
|
-
from jit_utils import workday_constants
|
132
|
-
self.assertIsNotNone(workday_constants)
|
133
|
-
# 检查是否有工作日相关的常量
|
134
|
-
self.assertTrue(hasattr(workday_constants, 'holidayDict') or
|
135
|
-
hasattr(workday_constants, 'workdayDict'))
|
136
|
-
except ImportError as e:
|
137
|
-
self.skipTest(f"workday_constants 模块导入失败: {e}")
|
138
|
-
|
139
|
-
def test_decorator_import(self):
|
140
|
-
"""测试装饰器导入"""
|
141
|
-
try:
|
142
|
-
from jit_utils import forward
|
143
|
-
self.assertTrue(callable(forward))
|
144
|
-
except ImportError as e:
|
145
|
-
self.skipTest(f"forward 装饰器导入失败(可能缺少依赖): {e}")
|
146
|
-
|
147
|
-
def test_convert_classes_import(self):
|
148
|
-
"""测试转换器类导入"""
|
149
|
-
try:
|
150
|
-
from jit_utils import Converter, MemoryCompiler
|
151
|
-
if Converter is None or MemoryCompiler is None:
|
152
|
-
self.skipTest("转换器类因依赖问题不可用")
|
153
|
-
self.assertTrue(callable(Converter))
|
154
|
-
self.assertTrue(callable(MemoryCompiler))
|
155
|
-
except ImportError as e:
|
156
|
-
self.skipTest(f"转换器类导入失败(可能缺少依赖): {e}")
|
157
|
-
|
158
|
-
def test_all_exports(self):
|
159
|
-
"""测试 __all__ 导出列表"""
|
160
|
-
import jit_utils
|
161
|
-
|
162
|
-
# 检查 __all__ 是否存在
|
163
|
-
self.assertTrue(hasattr(jit_utils, '__all__'))
|
164
|
-
all_exports = jit_utils.__all__
|
165
|
-
self.assertIsInstance(all_exports, list)
|
166
|
-
self.assertGreater(len(all_exports), 0)
|
167
|
-
|
168
|
-
# 检查一些关键导出
|
169
|
-
expected_exports = [
|
170
|
-
'__version__', '__author__', 'randomString', 'md5Str',
|
171
|
-
'getUuidStr'
|
172
|
-
]
|
173
|
-
|
174
|
-
for export in expected_exports:
|
175
|
-
if export in all_exports:
|
176
|
-
self.assertTrue(hasattr(jit_utils, export), f"包中缺少导出: {export}")
|
177
|
-
|
178
|
-
# 检查可能为 None 的导出(因为依赖问题)
|
179
|
-
optional_exports = ['Qrcode', 'Barcode', 'ParamsValidator', 'Converter', 'MemoryCompiler']
|
180
|
-
for export in optional_exports:
|
181
|
-
if export in all_exports:
|
182
|
-
# 这些可能因为依赖问题为 None,只要存在就行
|
183
|
-
self.assertTrue(hasattr(jit_utils, export), f"包中缺少可选导出: {export}")
|
184
|
-
|
185
|
-
def test_star_import(self):
|
186
|
-
"""测试 from jit_utils import * 是否正常工作"""
|
187
|
-
# 由于 * 导入会污染命名空间,我们在这里只测试是否会出错
|
188
|
-
try:
|
189
|
-
exec("from jit_utils import *")
|
190
|
-
# 如果执行到这里说明没有导入错误
|
191
|
-
self.assertTrue(True)
|
192
|
-
except ImportError as e:
|
193
|
-
self.skipTest(f"星号导入失败(可能缺少依赖): {e}")
|
194
|
-
except Exception as e:
|
195
|
-
self.fail(f"星号导入出现意外错误: {e}")
|
196
|
-
|
197
|
-
|
198
|
-
if __name__ == '__main__':
|
199
|
-
unittest.main()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils_backend.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
{jit-utils-backend-0.0.1 → jit_utils_backend-0.0.2}/jit_utils_backend.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|