Check if current directory is project root and verify project name.
()
| 195 | |
| 196 | |
| 197 | def _check_project_root(): |
| 198 | """Check if current directory is project root and verify project name.""" |
| 199 | project_root_marker = "pyproject.toml" |
| 200 | current_dir = Path(os.getcwd()) |
| 201 | pyproject_path = current_dir / project_root_marker |
| 202 | |
| 203 | if not pyproject_path.is_file(): |
| 204 | logger.error(f"{project_root_marker} file not found in current directory.") |
| 205 | logger.error("Please ensure you are running this command in the WeClone project root directory.") |
| 206 | sys.exit(1) |
| 207 | |
| 208 | try: |
| 209 | with open(pyproject_path, "rb") as f: |
| 210 | pyproject_data = tomllib.load(f) |
| 211 | project_name = pyproject_data.get("project", {}).get("name") |
| 212 | if project_name != "WeClone": |
| 213 | logger.error("Please ensure you are running in the correct WeClone project root directory.") |
| 214 | sys.exit(1) |
| 215 | except tomllib.TOMLDecodeError as e: |
| 216 | logger.error(f"Error: Unable to parse {pyproject_path} file: {e}") |
| 217 | sys.exit(1) |
| 218 | except Exception as e: |
| 219 | logger.error(f"Unexpected error occurred while reading or processing {pyproject_path}: {e}") |
| 220 | sys.exit(1) |
| 221 | |
| 222 | |
| 223 | def _check_versions(): |