#!/usr/bin/python3 # -*- coding: utf-8 -*- # Bench delete gitee repos # 批量删除 gitee 代码仓库 # Author: TianLun Song # License: MIT # Path: bench-delete-gitee-repo.py # require: requests # usage: python3 delete.py # install requests: pip3 install requests import requests import json AccessToken = '' BaseHost = 'https://gitee.com/api/v5' def get_all_repos(repos=None): if repos is None: repos = [] page = 1 while True: reposRaw = get_repos(page) if len(reposRaw) == 0: break repos += parse_repos_raw(reposRaw) page += 1 return repos def get_repos(page=1): r = requests.get(BaseHost + '/user/repos', params={ 'access_token': AccessToken, 'page': page }) return json.loads(r.text) def parse_repos_raw(reposRaw, rapos=None): if rapos is None: rapos = [] repos = [] for repo in reposRaw: repos.append( { 'name': repo['name'], 'owner': repo['owner']['login'], 'full_name': repo['full_name'] } ) return repos if __name__ == '__main__': repos = [] print('Start to get all repos...') repos = get_all_repos(repos) for repo in repos: print("'%s'," % (repo['name'])) print('Start to delete repo: ' + repo['full_name']) r = requests.delete(BaseHost + '/repos/' + repo['full_name'], params={ 'access_token': AccessToken, 'owner': repo['owner'], 'repo': repo['name'] }) print(r.text) print('repos count: %d' % len(repos))