-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclone_reps.py
27 lines (24 loc) · 993 Bytes
/
clone_reps.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import requests
import subprocess
def get_repositories(username, access_token=None):
headers = {'Authorization': f'token {access_token}'} if access_token else {}
url = f"https://api.github.com/users/{username}/repos"
response = requests.get(url, headers=headers)
if response.status_code == 200:
repositories = [repo["clone_url"] for repo in response.json()]
return repositories
else:
print(f"Failed to fetch repositories: {response.status_code}")
return []
def clone_repositories(repositories):
for repo_url in repositories:
subprocess.run(["git", "clone", repo_url])
if __name__ == "__main__":
username = "supersmile0426"
# access_token = "your_access_token" # Optional if cloning private repositories
repositories = get_repositories(username)
if repositories:
clone_repositories(repositories)
print("Cloning complete.")
else:
print("No repositories found for the specified user.")