xywechatpad-binary 1.0.0__tar.gz → 1.0.1__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,31 +1,31 @@
1
- Metadata-Version: 2.2
2
- Name: xywechatpad-binary
3
- Version: 1.0.0
4
- Summary: XYBotV2 Binary Distribution
5
- Home-page: https://github.com/HenryXiaoYang/xywechatpad-binary
6
- Author: HenryXiaoYang
7
- Author-email: henryyang666@hotmail.com
8
- Platform: Linux-x86_64
9
- Platform: Linux-aarch64
10
- Platform: macosx-x86_64
11
- Platform: macosx-arm64
12
- Platform: Windows-x86_64
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Operating System :: POSIX :: Linux
15
- Classifier: Operating System :: MacOS
16
- Classifier: Operating System :: Microsoft :: Windows
17
- Requires-Python: >=3.11
18
- Description-Content-Type: text/markdown
19
- Dynamic: author
20
- Dynamic: author-email
21
- Dynamic: classifier
22
- Dynamic: description
23
- Dynamic: description-content-type
24
- Dynamic: home-page
25
- Dynamic: platform
26
- Dynamic: requires-python
27
- Dynamic: summary
28
-
29
- # XYWechatPad Binary Distribution
30
-
31
- Binary distribution for XYBotV2
1
+ Metadata-Version: 2.2
2
+ Name: xywechatpad-binary
3
+ Version: 1.0.1
4
+ Summary: XYBotV2 Binary Distribution
5
+ Home-page: https://github.com/HenryXiaoYang/xywechatpad-binary
6
+ Author: HenryXiaoYang
7
+ Author-email: henryyang666@hotmail.com
8
+ Platform: Linux-x86_64
9
+ Platform: Linux-aarch64
10
+ Platform: macosx-x86_64
11
+ Platform: macosx-arm64
12
+ Platform: Windows-x86_64
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Requires-Python: >=3.11
18
+ Description-Content-Type: text/markdown
19
+ Dynamic: author
20
+ Dynamic: author-email
21
+ Dynamic: classifier
22
+ Dynamic: description
23
+ Dynamic: description-content-type
24
+ Dynamic: home-page
25
+ Dynamic: platform
26
+ Dynamic: requires-python
27
+ Dynamic: summary
28
+
29
+ # XYWechatPad Binary Distribution
30
+
31
+ Binary distribution for XYBotV2
@@ -1,3 +1,3 @@
1
- # XYWechatPad Binary Distribution
2
-
1
+ # XYWechatPad Binary Distribution
2
+
3
3
  Binary distribution for XYBotV2
@@ -1,3 +1,3 @@
1
- [build-system]
2
- requires = ["setuptools>=42", "wheel"]
1
+ [build-system]
2
+ requires = ["setuptools>=42", "wheel"]
3
3
  build-backend = "setuptools.build_meta"
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,49 +1,49 @@
1
- import sys
2
- import platform
3
- import os
4
- from setuptools import setup, find_packages
5
-
6
- # 从环境变量获取当前构建平台
7
- target_platform = os.environ.get('TARGET_PLATFORM', '').lower()
8
-
9
- # 平台到二进制路径的映射
10
- PLATFORM_BINARIES = {
11
- 'linux_x86_64': ['binaries/linux_x64/XYWechatPad'],
12
- 'linux_aarch64': ['binaries/linux_aarch64/XYWechatPad'],
13
- 'macos_x86_64': ['binaries/macos_x64/XYWechatPad'],
14
- 'macos_arm64': ['binaries/macos_arm64/XYWechatPad'],
15
- 'win_amd64': ['binaries/win_x64/XYWechatPad.exe']
16
- }
17
-
18
- # 版本检查
19
- if sys.version_info < (3, 11):
20
- raise RuntimeError("Requires Python 3.11 or higher")
21
-
22
- setup(
23
- name="xywechatpad-binary",
24
- version="1.0.0",
25
- author="HenryXiaoYang",
26
- author_email="henryyang666@hotmail.com",
27
- description="XYBotV2 Binary Distribution",
28
- long_description=open("README.md").read(),
29
- long_description_content_type="text/markdown",
30
- url="https://github.com/HenryXiaoYang/xywechatpad-binary",
31
- packages=find_packages(),
32
- package_data={
33
- "xywechatpad_binary": PLATFORM_BINARIES.get(target_platform, [])
34
- },
35
- classifiers=[
36
- "Programming Language :: Python :: 3",
37
- "Operating System :: POSIX :: Linux",
38
- "Operating System :: MacOS",
39
- "Operating System :: Microsoft :: Windows",
40
- ],
41
- python_requires='>=3.11',
42
- platforms=[
43
- "Linux-x86_64",
44
- "Linux-aarch64",
45
- "macosx-x86_64",
46
- "macosx-arm64",
47
- "Windows-x86_64"
48
- ]
1
+ import sys
2
+ import platform
3
+ import os
4
+ from setuptools import setup, find_packages
5
+
6
+ # 从环境变量获取当前构建平台
7
+ target_platform = os.environ.get('TARGET_PLATFORM', '').lower()
8
+
9
+ # 平台到二进制路径的映射
10
+ PLATFORM_BINARIES = {
11
+ 'linux_x86_64': ['binaries/linux_x64/XYWechatPad'],
12
+ 'linux_aarch64': ['binaries/linux_aarch64/XYWechatPad'],
13
+ 'macos_x86_64': ['binaries/macos_x64/XYWechatPad'],
14
+ 'macos_arm64': ['binaries/macos_arm64/XYWechatPad'],
15
+ 'win_amd64': ['binaries/win_x64/XYWechatPad.exe']
16
+ }
17
+
18
+ # 版本检查
19
+ if sys.version_info < (3, 11):
20
+ raise RuntimeError("Requires Python 3.11 or higher")
21
+
22
+ setup(
23
+ name="xywechatpad-binary",
24
+ version="1.0.1",
25
+ author="HenryXiaoYang",
26
+ author_email="henryyang666@hotmail.com",
27
+ description="XYBotV2 Binary Distribution",
28
+ long_description=open("README.md").read(),
29
+ long_description_content_type="text/markdown",
30
+ url="https://github.com/HenryXiaoYang/xywechatpad-binary",
31
+ packages=find_packages(),
32
+ package_data={
33
+ "xywechatpad_binary": PLATFORM_BINARIES.get(target_platform, [])
34
+ },
35
+ classifiers=[
36
+ "Programming Language :: Python :: 3",
37
+ "Operating System :: POSIX :: Linux",
38
+ "Operating System :: MacOS",
39
+ "Operating System :: Microsoft :: Windows",
40
+ ],
41
+ python_requires='>=3.11',
42
+ platforms=[
43
+ "Linux-x86_64",
44
+ "Linux-aarch64",
45
+ "macosx-x86_64",
46
+ "macosx-arm64",
47
+ "Windows-x86_64"
48
+ ]
49
49
  )
@@ -1,65 +1,65 @@
1
- import platform
2
- import shutil
3
- from pathlib import Path
4
-
5
- def copy_binary(target_dir: Path) -> Path:
6
- """
7
- 将当前平台的二进制文件复制到指定目录
8
- :param target_dir: 必须存在的目标目录
9
- :return: 复制后的完整文件路径
10
- :raises FileNotFoundError: 当目标目录不存在时
11
- :raises OSError: 平台不受支持时
12
- """
13
- system = platform.system().lower()
14
- machine = platform.machine().lower()
15
-
16
- # 平台到二进制路径的映射
17
- BIN_MAP = {
18
- "linux": {
19
- "x86_64": "binaries/linux_x64/XYWechatPad",
20
- "amd64": "binaries/linux_x64/XYWechatPad",
21
- "aarch64": "binaries/linux_aarch64/XYWechatPad"
22
- },
23
- "darwin": { # macOS
24
- "x86_64": "binaries/macos_x64/XYWechatPad",
25
- "arm64": "binaries/macos_arm64/XYWechatPad"
26
- },
27
- "windows": {
28
- "x86_64": "binaries/win_x64/XYWechatPad.exe",
29
- "amd64": "binaries/win_x64/XYWechatPad.exe"
30
- }
31
- }
32
-
33
- # 验证平台支持
34
- if system not in BIN_MAP or machine not in BIN_MAP[system]:
35
- raise OSError(f"Unsupported platform: {system}-{machine}")
36
-
37
- # 获取源文件路径
38
- src_path = Path(__file__).parent / BIN_MAP[system][machine]
39
- if not src_path.exists():
40
- raise FileNotFoundError(f"Binary not found: {src_path}")
41
-
42
- # 验证目标目录
43
- if not target_dir.is_dir():
44
- raise FileNotFoundError(f"Target directory does not exist: {target_dir}")
45
-
46
- # 构建目标路径
47
- dest_path = target_dir / src_path.name
48
-
49
- # 如果目标文件已存在且内容相同,直接返回
50
- if dest_path.exists():
51
- # 验证文件内容是否一致
52
- if dest_path.stat().st_size == src_path.stat().st_size:
53
- return dest_path
54
-
55
- # 文件存在但大小不同则删除旧文件
56
- dest_path.unlink()
57
-
58
- # 执行复制
59
- shutil.copy2(src_path, dest_path)
60
-
61
- # 设置可执行权限(非Windows)
62
- if system != "windows":
63
- dest_path.chmod(0o755)
64
-
65
- return dest_path
1
+ import platform
2
+ import shutil
3
+ from pathlib import Path
4
+
5
+ def copy_binary(target_dir: Path) -> Path:
6
+ """
7
+ 将当前平台的二进制文件复制到指定目录
8
+ :param target_dir: 必须存在的目标目录
9
+ :return: 复制后的完整文件路径
10
+ :raises FileNotFoundError: 当目标目录不存在时
11
+ :raises OSError: 平台不受支持时
12
+ """
13
+ system = platform.system().lower()
14
+ machine = platform.machine().lower()
15
+
16
+ # 平台到二进制路径的映射
17
+ BIN_MAP = {
18
+ "linux": {
19
+ "x86_64": "binaries/linux_x64/XYWechatPad",
20
+ "amd64": "binaries/linux_x64/XYWechatPad",
21
+ "aarch64": "binaries/linux_aarch64/XYWechatPad"
22
+ },
23
+ "darwin": { # macOS
24
+ "x86_64": "binaries/macos_x64/XYWechatPad",
25
+ "arm64": "binaries/macos_arm64/XYWechatPad"
26
+ },
27
+ "windows": {
28
+ "x86_64": "binaries/win_x64/XYWechatPad.exe",
29
+ "amd64": "binaries/win_x64/XYWechatPad.exe"
30
+ }
31
+ }
32
+
33
+ # 验证平台支持
34
+ if system not in BIN_MAP or machine not in BIN_MAP[system]:
35
+ raise OSError(f"Unsupported platform: {system}-{machine}")
36
+
37
+ # 获取源文件路径
38
+ src_path = Path(__file__).parent / BIN_MAP[system][machine]
39
+ if not src_path.exists():
40
+ raise FileNotFoundError(f"Binary not found: {src_path}")
41
+
42
+ # 验证目标目录
43
+ if not target_dir.is_dir():
44
+ raise FileNotFoundError(f"Target directory does not exist: {target_dir}")
45
+
46
+ # 构建目标路径
47
+ dest_path = target_dir / src_path.name
48
+
49
+ # 如果目标文件已存在且内容相同,直接返回
50
+ if dest_path.exists():
51
+ # 验证文件内容是否一致
52
+ if dest_path.stat().st_size == src_path.stat().st_size:
53
+ return dest_path
54
+
55
+ # 文件存在但大小不同则删除旧文件
56
+ dest_path.unlink()
57
+
58
+ # 执行复制
59
+ shutil.copy2(src_path, dest_path)
60
+
61
+ # 设置可执行权限(非Windows)
62
+ if system != "windows":
63
+ dest_path.chmod(0o755)
64
+
65
+ return dest_path
@@ -1,31 +1,31 @@
1
- Metadata-Version: 2.2
2
- Name: xywechatpad-binary
3
- Version: 1.0.0
4
- Summary: XYBotV2 Binary Distribution
5
- Home-page: https://github.com/HenryXiaoYang/xywechatpad-binary
6
- Author: HenryXiaoYang
7
- Author-email: henryyang666@hotmail.com
8
- Platform: Linux-x86_64
9
- Platform: Linux-aarch64
10
- Platform: macosx-x86_64
11
- Platform: macosx-arm64
12
- Platform: Windows-x86_64
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Operating System :: POSIX :: Linux
15
- Classifier: Operating System :: MacOS
16
- Classifier: Operating System :: Microsoft :: Windows
17
- Requires-Python: >=3.11
18
- Description-Content-Type: text/markdown
19
- Dynamic: author
20
- Dynamic: author-email
21
- Dynamic: classifier
22
- Dynamic: description
23
- Dynamic: description-content-type
24
- Dynamic: home-page
25
- Dynamic: platform
26
- Dynamic: requires-python
27
- Dynamic: summary
28
-
29
- # XYWechatPad Binary Distribution
30
-
31
- Binary distribution for XYBotV2
1
+ Metadata-Version: 2.2
2
+ Name: xywechatpad-binary
3
+ Version: 1.0.1
4
+ Summary: XYBotV2 Binary Distribution
5
+ Home-page: https://github.com/HenryXiaoYang/xywechatpad-binary
6
+ Author: HenryXiaoYang
7
+ Author-email: henryyang666@hotmail.com
8
+ Platform: Linux-x86_64
9
+ Platform: Linux-aarch64
10
+ Platform: macosx-x86_64
11
+ Platform: macosx-arm64
12
+ Platform: Windows-x86_64
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Requires-Python: >=3.11
18
+ Description-Content-Type: text/markdown
19
+ Dynamic: author
20
+ Dynamic: author-email
21
+ Dynamic: classifier
22
+ Dynamic: description
23
+ Dynamic: description-content-type
24
+ Dynamic: home-page
25
+ Dynamic: platform
26
+ Dynamic: requires-python
27
+ Dynamic: summary
28
+
29
+ # XYWechatPad Binary Distribution
30
+
31
+ Binary distribution for XYBotV2
@@ -6,4 +6,4 @@ xywechatpad_binary.egg-info/PKG-INFO
6
6
  xywechatpad_binary.egg-info/SOURCES.txt
7
7
  xywechatpad_binary.egg-info/dependency_links.txt
8
8
  xywechatpad_binary.egg-info/top_level.txt
9
- xywechatpad_binary/binaries/win_x64/XYWechatPad.exe
9
+ xywechatpad_binary/binaries/linux_aarch64/XYWechatPad