ALBS-931 Added integration with AlmaLinux Build System (errata feed) #3

Merged
kzhukov merged 4 commits from ALBS-931 into main 2023-01-20 11:49:11 +00:00
Showing only changes of commit 23ba530ada - Show all commits

View File

@ -1,6 +1,7 @@
"""
albs.py contains ALBS class
"""
from urllib.parse import urljoin
from typing import Union, Dict
import requests
@ -12,8 +13,6 @@ class ALBS:
"""
def __init__(self, url: str, token: str, timeout: int):
kzhukov marked this conversation as resolved
Review

It's not necessary if you fix comments below.

It's not necessary if you fix comments below.
if url.endswith('/'):
url = url[:-1]
self.url = url
self.token = token
self.timeout = timeout
@ -27,13 +26,12 @@ class ALBS:
endpoint = '/api/v1/platforms/'
headers = {'accept': 'application/json',
'Authorization': f'Bearer {self.token}'}
response = requests.get(url=self.url+endpoint,
response = requests.get(url=urljoin(self.url, endpoint),
headers=headers,
kzhukov marked this conversation as resolved
Review

self.url+endpoint don't do the same, please :)

from urllib.parse import urljoin
urljoin(url + '/', some_uri)

That code join part of an URL right in all cases

`self.url+endpoint` don't do the same, please :) ``` from urllib.parse import urljoin urljoin(url + '/', some_uri) ``` That code join part of an URL right in all cases
timeout=self.timeout)
response.raise_for_status()
res = {}
for platform in response.json():
res[platform['name']] = platform['id']
res = {platform['name']: platform['id']
for platform in response.json()}

That looks more pretty I guess

res = {platform['name']: platform['id'] for platform in response.json()}
That looks more pretty I guess ``` res = {platform['name']: platform['id'] for platform in response.json()} ```
return res
def get_errata_status(self, errata_id: str, platform_name: str) -> Union[str, None]:
@ -60,7 +58,7 @@ class ALBS:
params = {'id': errata_id, 'platformId': platform_id}
headers = {'accept': 'application/json',
'Authorization': f'Bearer {self.token}'}
response = requests.get(url=self.url+endpoint,
response = requests.get(url=urljoin(self.url, endpoint),
params=params, headers=headers,
timeout=self.timeout)
kzhukov marked this conversation as resolved
Review

same as above

same as above
response.raise_for_status()
@ -68,5 +66,5 @@ class ALBS:
# errata_id was not found
if response_json['total_records'] == 0:
return None
return
return response_json['records'][0]['release_status']