compatible with windows path

This commit is contained in:
mannaandpoem 2024-02-02 15:37:00 +08:00
parent dcb0623d46
commit 5edee1299c
2 changed files with 8 additions and 7 deletions

View file

@ -93,11 +93,10 @@ class DependencyFile:
root = self._filename.parent
try:
key = Path(filename).relative_to(root)
key = Path(filename).relative_to(root).as_posix()
except ValueError:
key = filename
key = re.sub(r"\\+", "/", str(key))
return set(self._dependencies.get(key, {}))
return set(self._dependencies.get(str(key), {}))
def delete_file(self):
"""Delete the dependency file."""

View file

@ -6,6 +6,7 @@
@File : test_incremental_dev.py
"""
import os
import shutil
import subprocess
import time
@ -116,13 +117,14 @@ def get_incremental_dev_result(idea, project_name, use_review=True):
if not project_path.exists():
# If the project does not exist, extract the project file
try:
if os.name == "nt":
subprocess.run(["tar", "-xf", f"{project_path}.zip", "-C", str(project_path.parent)], check=True)
else:
if shutil.which("unzip"):
subprocess.run(["unzip", f"{project_path}.zip", "-d", str(project_path.parent)], check=True)
elif shutil.which("tar"):
subprocess.run(["tar", "-xf", f"{project_path}.zip", "-C", str(project_path.parent)], check=True)
logger.info(f"Extracted project {project_name} successfully.")
except FileNotFoundError as e:
raise FileNotFoundError(f"Neither 'unzip' nor 'tar' command found. Error: {e}")
except subprocess.CalledProcessError as e:
# If the extraction fails, throw an exception
raise Exception(f"Failed to extract project {project_name}. Error: {e}")
check_or_create_base_tag(project_path)