44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import os
|
|
import requests
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
TOKEN = os.getenv('GITEA_TOKEN')
|
|
BASE_URL = os.getenv('GITEA_URL', 'https://git.vyatsu.ru')
|
|
|
|
def get_user_info():
|
|
headers = {"Authorization": f"token {TOKEN}"}
|
|
response = requests.get(f"{BASE_URL}/api/v1/user", headers=headers)
|
|
if response.status_code == 200:
|
|
user = response.json()
|
|
print(f"User: {user.get('login')}")
|
|
print(f"Email: {user.get('email')}")
|
|
return user
|
|
else:
|
|
print(f"Error: {response.status_code}")
|
|
return None
|
|
|
|
def create_repository(repo_name):
|
|
headers = {
|
|
"Authorization": f"token {TOKEN}",
|
|
"Content-Type": "application/json"
|
|
}
|
|
data = {
|
|
"name": repo_name,
|
|
"description": "Laboratory work #3: Network programming",
|
|
"private": False
|
|
}
|
|
response = requests.post(f"{BASE_URL}/api/v1/user/repos", headers=headers, json=data)
|
|
if response.status_code == 201:
|
|
repo = response.json()
|
|
print(f"Repository created: {repo.get('html_url')}")
|
|
return repo
|
|
else:
|
|
print(f"Error: {response.status_code}")
|
|
return None
|
|
|
|
if __name__ == "__main__":
|
|
user = get_user_info()
|
|
if user:
|
|
create_repository(f"lab3-{user.get('login')}") |