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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
import requests
import json
APIBASE="/api/v1"
class GiteaAPIAuthException (Exception):
pass
class GiteaAPIException (Exception):
pass
class GiteaAPI:
def __init__(self, _url, _token):
self.token = _token
self.address = _url.strip('/') + APIBASE
headers={'Authorization':f'token {self.token}'}
result = requests.get(f'{self.address}/user',headers=headers)
if result.status_code != 200:
raise GiteaAPIAuthException(result.json()['message'])
self.username = result.json()['login']
def _api_get(self, _endpoint, _params):
headers={
'Authorization':f'token {self.token}',
'Content-Type': 'application/json',
'accept': 'application/json'
}
result = requests.get(f'{self.address}/{_endpoint}',headers=headers, params=_params)
return result.json()
def createIssue(self, _owner, _repo, _title, _content):
pass
def searchIssue(self, _owner, _repo, _title, _labels, _state='open'):
data= {
'state':_state,
'labels':_labels,
'created_by':self.username,
'q':_title
}
result = self._api_get(f'repos/{_owner}/{_repo}/issues', data )
for issue in result:
print(issue['title'])
def updateIssue(self, _owner, _repo, _issueid):
pass
|