-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.py
79 lines (67 loc) · 2.28 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# -*- encoding: utf-8 -*-
# @Author: SWHL
# @Contact: [email protected]
import sys
from pathlib import Path
from typing import List
import setuptools
from get_pypi_latest_version import GetPyPiLatestVersion
def get_readme() -> str:
root_dir = Path(__file__).resolve().parent
readme_path = str(root_dir / 'docs' / 'doc_whl.md')
with open(readme_path, 'r', encoding='utf-8') as f:
readme = f.read()
return readme
def read_txt(txt_path: str) -> List:
if not isinstance(txt_path, str):
txt_path = str(txt_path)
with open(txt_path, 'r', encoding='utf-8') as f:
data = list(map(lambda x: x.rstrip('\n'), f))
return data
MODULE_NAME = 'extract_office_content'
obtainer = GetPyPiLatestVersion()
try:
latest_version = obtainer(MODULE_NAME)
except ValueError:
latest_version = '0.0.1'
VERSION_NUM = obtainer.version_add_one(latest_version)
if len(sys.argv) > 2:
match_str = ' '.join(sys.argv[2:])
matched_versions = obtainer.extract_version(match_str)
if matched_versions:
VERSION_NUM = matched_versions
sys.argv = sys.argv[:2]
require = read_txt('requirements.txt')
setuptools.setup(
name=MODULE_NAME,
version=VERSION_NUM,
platforms="Any",
description="Tool for extracting content from office files.",
long_description=get_readme(),
long_description_content_type='text/markdown',
author="SWHL",
author_email="[email protected]",
url="https://github.com/SWHL/ExtractOfficeText.git",
license='Apache-2.0',
include_package_data=True,
install_requires=require,
packages=[MODULE_NAME],
keywords=['extract,office,text,content'],
classifiers=[
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
],
python_requires='>=3.6,<3.12',
entry_points={
'console_scripts': [
f'extract_office_content={MODULE_NAME}.main:main',
f'extract_excel={MODULE_NAME}.extract_excel:main',
f'extract_ppt={MODULE_NAME}.extract_ppt:main',
f'extract_word={MODULE_NAME}.extract_word:main',
],
}
)