pentoo-overlay/scripts/bumpchecker/github_libyal_check.py
2020-08-03 15:27:51 +08:00

71 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python3
"""Parse Repology API and display outdated packages in Pentoo
"""
import json
import requests
import sys
__author__ = "Anton Bolshakov"
__license__ = "GPL-3"
__email__ = "blshkv@pentoo.ch"
project_url = "https://api.github.com/repos/libyal/"
project_packages = {
'libcdata',
'libcdatetime',
'libcerror',
'libcfile',
'libclocale',
'libcnotify',
'libcpath',
'libcsplit',
'libcstring',
'libcsystem',
'libcthreads',
'libfcache',
'libfdata',
'libfdatetime',
'libfguid',
'libfmapi',
'libfvalue',
'libfwnt',
'libsmdev',
'libuna'
}
json_data = None
def load_api( package ):
global json_data
#get the tag list via API (json)
try:
response = requests.get(project_url + package +"/tags")
response.raise_for_status()
except requests.exceptions.HTTPError as errh:
print ("Http Error:",errh)
sys.exit(1)
except requests.exceptions.ConnectionError as errc:
print ("Unable to connect:",errc)
sys.exit(1)
except requests.exceptions.Timeout as errt:
print ("Timeout Error:",errt)
sys.exit(1)
except requests.exceptions.RequestException as err:
print ("OOps: Something Else",err)
sys.exit(1)
#parse json
json_data = json.loads(response.text)
def main():
for package in project_packages:
load_api(package)
print("package: ", package, "-", json_data[0]["name"])
if __name__ == '__main__':
main()