This repository has been archived by the owner on Nov 25, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
utils_env.py
97 lines (80 loc) · 2.53 KB
/
utils_env.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# -*- coding: utf-8 -*-
import os
import platform
# 缓存全局的环境
ENV = ''
def get_env_str() -> str:
"""
尝试获取当前系统的环境,返回字符。
:return: Windows / Linux / Mac / github / v2p / ql / 空
"""
global ENV
if ENV:
return ENV
v2p_file = '/usr/local/app/script/Lists/task.list'
ql_file = '/ql/config/env.sh'
print('尝试检查运行环境...')
if os.getenv('GITHUB_ACTIONS'):
print('成功,当前环境为: github action 面板。')
env = 'github'
elif os.path.exists(v2p_file):
print('成功,当前环境为: elecV2P 面板。')
env = 'v2p'
elif os.path.exists(ql_file):
print('成功,当前环境为: 青龙面板。')
env = 'ql'
# 面板判断优先于系统判断
elif (e := platform.system()) == "Windows" or "Linux" or "Mac":
print(f'成功,当前环境为 {e}。')
env = e
else:
print('失败!请检查环境。')
env = ''
ENV = env
print('环境检查结束。\n')
return env
def get_env_int() -> int:
"""
尝试获取当前系统的环境,返回数字。
:return: 空: -1 / Windows: 0 / Linux: 1 / Mac: 2 / github: 3 / v2p: 4 / ql: 5
"""
env = get_env_str()
if env == 'Windows':
return 0
if env == 'Linux':
return 1
if env == 'Mac':
return 2
if env == 'github':
return 3
if env == 'v2p':
return 4
if env == 'ql':
return 5
return -1
def get_file_path(file_name: str) -> str:
"""
根据文件名返回对应环境中位置。
:param file_name: 文件名,不含任何 "/" (即目录)
:return: 如果有面板,返回面板默认配置文件夹,否则返回当前目录下文件。 <br/> 如果路径下文件不存在,返回空串。
"""
env_i = get_env_int()
print(f'配置文件 ({file_name}) 检查开始...')
paths = [
file_name,
file_name,
file_name,
file_name,
f'/usr/local/app/script/Lists/{file_name}',
f'/ql/config/{file_name}',
]
if env_i < 0:
print('无法判断环境,选择当前目录为配置文件夹目录。')
env_i = 0
if not os.path.exists(paths[env_i]):
print(f'未找到配置文件(不一定是错误),路径为: {paths[env_i]}。')
print('配置文件检查结束。\n')
return ''
print(f'在 {paths[env_i]} 发现配置文件。')
print('配置文件检查结束。\n')
return paths[env_i]