26 lines
920 B
Python
26 lines
920 B
Python
import os
|
|
import json
|
|
import urllib.request
|
|
|
|
def httpGet(url, params={}):
|
|
real_url = url + urllib.parse.urlencode(params)
|
|
req = urllib.request.Request(real_url)
|
|
req.add_header('Private-Token', 'cRjSP2EUx1SaQYcis9W7')
|
|
data = urllib.request.urlopen(req).readall()
|
|
return json.loads(data.decode('utf-8'))
|
|
|
|
projects = httpGet('http://git.kingsome.cn/api/v4/projects?',
|
|
{
|
|
'page': 1,
|
|
'per_page': 1000
|
|
})
|
|
for proj in projects:
|
|
http_url_to_repo = proj['http_url_to_repo']
|
|
name = proj['name']
|
|
path = proj['namespace']['path']
|
|
if not os.path.exists('repository/' + path):
|
|
os.mkdir('repository/' + path)
|
|
if not os.path.exists('repository/' + path + '/' + name):
|
|
os.system('cd repository/' + path + ' && git clone ' + http_url_to_repo)
|
|
os.system('cd repository/' + path + ' && git pull')
|