Get full info about a project. Args: name: The project name. Returns: Project info dictionary, or None if not found.
(name: str)
| 362 | |
| 363 | |
| 364 | def get_project_info(name: str) -> dict[str, Any] | None: |
| 365 | """ |
| 366 | Get full info about a project. |
| 367 | |
| 368 | Args: |
| 369 | name: The project name. |
| 370 | |
| 371 | Returns: |
| 372 | Project info dictionary, or None if not found. |
| 373 | """ |
| 374 | _, SessionLocal = _get_engine() |
| 375 | session = SessionLocal() |
| 376 | try: |
| 377 | project = session.query(Project).filter(Project.name == name).first() |
| 378 | if project is None: |
| 379 | return None |
| 380 | return { |
| 381 | "path": project.path, |
| 382 | "created_at": project.created_at.isoformat() if project.created_at else None, |
| 383 | "default_concurrency": getattr(project, 'default_concurrency', 3) or 3 |
| 384 | } |
| 385 | finally: |
| 386 | session.close() |
| 387 | |
| 388 | |
| 389 | def update_project_path(name: str, new_path: Path) -> bool: |
nothing calls this directly
no test coverage detected