feat: wrap remaining target endpoints

dev
Jef Roosens 2022-07-31 13:36:23 +02:00
parent 1f14678997
commit a84eecc687
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
2 changed files with 27 additions and 2 deletions

View File

@ -7,8 +7,8 @@ class VieterTargets:
return await self._vieter._get("/targets", params=params) return await self._vieter._get("/targets", params=params)
async def info(self, repo_id: int) -> dict: async def info(self, target_id: int) -> dict:
return await self._vieter._get(f"/targets/{repo_id}") return await self._vieter._get(f"/targets/{target_id}")
async def create(self, url: str, branch: str, repo: str, schedule: str = None, arch: [str] = None): async def create(self, url: str, branch: str, repo: str, schedule: str = None, arch: [str] = None):
params = { params = {
@ -22,3 +22,19 @@ class VieterTargets:
params['arch'] = arch.join(',') params['arch'] = arch.join(',')
await self._vieter._post('/targets', params=params) await self._vieter._post('/targets', params=params)
async def create(self, target_id: int, url: str = None, branch: str = None, repo: str = None, schedule: str = None, arch: [str] = None):
params = {
'url': url,
'branch': branch,
'repo': repo,
'schedule': schedule,
}
if arch is not None:
params['arch'] = arch.join(',')
await self._vieter._patch(f'/targets/{target_id}', params=params)
async def delete(self, target_id: int):
await self._vieter._delete(f'/targets/{target_id}')

View File

@ -36,6 +36,9 @@ class Vieter:
params = {k: v for k, v in params.items() if v is not None} params = {k: v for k, v in params.items() if v is not None}
async with self._client.request(method, f"{API_PREFIX}{path}", params=params) as res: async with self._client.request(method, f"{API_PREFIX}{path}", params=params) as res:
if res.status == 404:
return VieterApiException("Error 404")
data = await res.json() data = await res.json()
if res.status != 200: if res.status != 200:
@ -48,3 +51,9 @@ class Vieter:
async def _post(self, *args, **kwargs): async def _post(self, *args, **kwargs):
return await self._do_req("POST", *args, **kwargs) return await self._do_req("POST", *args, **kwargs)
async def _patch(self, *args, **kwargs):
return await self._do_req("PATCH", *args, **kwargs)
async def _delete(self, *args, **kwargs):
return await self._do_req("DELETE", *args, **kwargs)