Используя Python и GitPython, со списком репозиториев git от разных пользователей, мне нужно проверить, существует ли репозиторий и является ли он общедоступным.
Имея это в виду и думая о GitHub, если он запрашивает имя пользователя и пароль, я знаю, что хранилище выходит за рамки моих критериев. Поэтому я могу игнорировать это.
import git
class User():
def __init__(self, a, b, c):
self.name = a
self.git_user = b
self.git_repos = c
user = User('John', 'john1234', 'fake_one')
try:
git.Repo.clone_from(f'https://github.com/{user.git_user}/' + \
f'{user.git_repos}.git', f'temp/{user.name}/')
except git.exc.GitError:
print(f'ERROR! {user.name}: {user.git_user}/{user.git_repos} does not exist')
Этот код работает, поэтому я вхожу с любым именем пользователя и соответствующим паролем (включая пустые), когда хранилище не найдено как общедоступное. Есть ли способ игнорировать (отправляя пустые строки) или перехватывать (какое-то исключение?) Имя пользователя / пароль?
Обратите внимание, что если бы я мог проверить наличие (публичного) хранилища, я мог бы использовать эту информацию для предотвращения неуместного "клона" ...