[UPD] script pycharm configuration: exclude with dynamic search
This commit is contained in:
parent
200aea9f8b
commit
955806db7e
1 changed files with 33 additions and 13 deletions
|
|
@ -30,13 +30,6 @@ IDEA_WORKSPACE = os.path.join(IDEA_PATH, "workspace.xml")
|
||||||
VCS_WORKSPACE = os.path.join(IDEA_PATH, "vcs.xml")
|
VCS_WORKSPACE = os.path.join(IDEA_PATH, "vcs.xml")
|
||||||
|
|
||||||
PATH_EXCLUDE_FOLDER = "./conf/pycharm_exclude_folder.txt"
|
PATH_EXCLUDE_FOLDER = "./conf/pycharm_exclude_folder.txt"
|
||||||
if os.path.isfile(PATH_EXCLUDE_FOLDER):
|
|
||||||
with open(PATH_EXCLUDE_FOLDER) as txt:
|
|
||||||
txt_read = txt.read()
|
|
||||||
LST_EXCLUDE_FOLDER = txt_read.strip().split("\n")
|
|
||||||
else:
|
|
||||||
LST_EXCLUDE_FOLDER = []
|
|
||||||
|
|
||||||
PATH_DEFAULT_CONFIGURATION = "./conf/pycharm_default_configuration.csv"
|
PATH_DEFAULT_CONFIGURATION = "./conf/pycharm_default_configuration.csv"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -436,6 +429,35 @@ def add_configuration(dct_xml, file_name, config):
|
||||||
return has_change
|
return has_change
|
||||||
|
|
||||||
|
|
||||||
|
def get_lst_exclude_folder():
|
||||||
|
if os.path.isfile(PATH_EXCLUDE_FOLDER):
|
||||||
|
with open(PATH_EXCLUDE_FOLDER) as txt:
|
||||||
|
txt_read = txt.read()
|
||||||
|
lst_exclude_folder = txt_read.strip().split("\n")
|
||||||
|
else:
|
||||||
|
lst_exclude_folder = []
|
||||||
|
|
||||||
|
# lst_to_exclude = ["./.venv.*", "./addons.*"]
|
||||||
|
lst_to_exclude = ["./.venv.*", "./addons"]
|
||||||
|
for s_exclude in lst_to_exclude:
|
||||||
|
for dir_venv in glob.glob(s_exclude):
|
||||||
|
lst_exclude_folder.append(dir_venv[2:])
|
||||||
|
|
||||||
|
# Dynamic exclude
|
||||||
|
lst_exclude_from_repo = ["setup"]
|
||||||
|
|
||||||
|
git_tool = GitTool()
|
||||||
|
lst_repo = git_tool.get_repo_info_manifest_xml()
|
||||||
|
# Create a mapping of git directory from ERPLibre
|
||||||
|
for dct_repo in lst_repo:
|
||||||
|
relative_path = dct_repo.get("path")
|
||||||
|
for exclude_from_repo in lst_exclude_from_repo:
|
||||||
|
path_to_check = os.path.join(relative_path, exclude_from_repo)
|
||||||
|
if os.path.isdir(path_to_check):
|
||||||
|
lst_exclude_folder.append(path_to_check)
|
||||||
|
return lst_exclude_folder
|
||||||
|
|
||||||
|
|
||||||
def add_exclude_folder(dct_xml, file_name, config):
|
def add_exclude_folder(dct_xml, file_name, config):
|
||||||
has_change = False
|
has_change = False
|
||||||
dct_module = dct_xml.get("module")
|
dct_module = dct_xml.get("module")
|
||||||
|
|
@ -469,12 +491,10 @@ def add_exclude_folder(dct_xml, file_name, config):
|
||||||
)
|
)
|
||||||
lst_exclude_folder = dct_content.get("excludeFolder")
|
lst_exclude_folder = dct_content.get("excludeFolder")
|
||||||
|
|
||||||
# lst_to_exclude = ["./.venv.*", "./addons.*"]
|
lst_exclude_item_raw = get_lst_exclude_folder()
|
||||||
lst_to_exclude = ["./.venv.*", "./addons"]
|
lst_exclude_item = [
|
||||||
for s_exclude in lst_to_exclude:
|
f"file://$MODULE_DIR$/{a}" for a in lst_exclude_item_raw
|
||||||
for dir_venv in glob.glob(s_exclude):
|
]
|
||||||
LST_EXCLUDE_FOLDER.append(dir_venv[2:])
|
|
||||||
lst_exclude_item = [f"file://$MODULE_DIR$/{a}" for a in LST_EXCLUDE_FOLDER]
|
|
||||||
|
|
||||||
if lst_exclude_folder:
|
if lst_exclude_folder:
|
||||||
if type(lst_exclude_folder) is list:
|
if type(lst_exclude_folder) is list:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue