/
githubmirror
/
AgentPilot
Обзор
Документация
Войти
/
githubmirror
/
AgentPilot
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v0.1.2
agentpilot/utils/filesystem.py
57 строк
2 KB
jbexta
fix
28 ноя 2023, 04:26
28 ноя 2023, 04:26
2dc33fa
Код
Авторство
О чём код?
import os import sys def get_application_path(): if sys.platform == 'win32': return os.path.dirname(os.path.abspath(sys.executable)) elif sys.platform == 'linux': app_image_var = os.environ.get('APPIMAGE') if not app_image_var: app_image_var = os.path.abspath(sys.executable) return os.path.dirname(app_image_var) elif sys.platform == 'darwin': # Mac OS return os.path.dirname(os.path.abspath(sys.executable)) def unsimplify_path(path): from agentpilot.utils import filesystem exe_dir = filesystem.get_application_path() # print("EXE DIR: ", exe_dir) path = path.replace('\\', '/') # Handle path starting with './' if path.startswith('./'): rel_path = path[2:] # remove the './' at the beginning abs_path = os.path.join(exe_dir, rel_path) # Handle path starting with '../' elif path.startswith('../'): parts = path.split('/') num_up = parts.count('..') rel_path = '/'.join(parts[num_up:]) abs_path = exe_dir for _ in range(num_up): abs_path = os.path.dirname(abs_path) abs_path = os.path.join(abs_path, rel_path) # Handle path starting with '.' elif path.startswith('.'): rel_path = path[1:] abs_path = os.path.join(exe_dir, rel_path) else: abs_path = path # print("UNSIMP: ", abs_path) return abs_path # os.path.abspath(abs_path) # return absolute path def simplify_path(path): from agentpilot.utils import filesystem abs_path = os.path.abspath(path) exe_dir = filesystem.get_application_path() if abs_path.startswith(exe_dir): rel_path = os.path.relpath(abs_path, exe_dir) return '.' + os.sep + rel_path else: return abs_path