Uses the existing gh login flow before accessing Sponsors-Only content.
()
| 1466 | |
| 1467 | return sorted(repo_sources, key=sort_key), size_map |
| 1468 | |
| 1469 | |
| 1470 | def _delete_existing_project_save_archives(): |
| 1471 | archive_name = PROJECT_SAVE_ARCHIVE_NAME |
| 1472 | for current_root, _dirnames, filenames in os.walk(PROJECT_SAVE_SHARED_STORAGE_PATH, onerror=lambda _e: None): |
| 1473 | for filename in filenames: |
| 1474 | if filename == archive_name: |
| 1475 | _remove_path_if_exists(os.path.join(current_root, filename)) |
| 1476 | |
| 1477 | |
| 1478 | def _get_project_save_extra_copy_directories(max_count=PROJECT_SAVE_MAX_EXTRA_COPIES): |
| 1479 | extra_directories = [] |
| 1480 | try: |
| 1481 | entries = sorted(os.listdir(PROJECT_SAVE_SHARED_STORAGE_PATH), key=str.lower) |
| 1482 | except Exception: |
| 1483 | return extra_directories |
| 1484 | |
| 1485 | for entry in entries: |
| 1486 | if entry.startswith('.') or entry in PROJECT_SAVE_EXCLUDED_TOP_LEVEL_DIRS: |
| 1487 | continue |
| 1488 | |
| 1489 | full_path = os.path.join(PROJECT_SAVE_SHARED_STORAGE_PATH, entry) |
| 1490 | if not os.path.isdir(full_path): |
| 1491 | continue |
| 1492 | |
| 1493 | extra_directories.append(full_path) |
| 1494 | if len(extra_directories) >= max_count: |
| 1495 | break |
no test coverage detected