Initial Commit UwU
This commit is contained in:
commit
23bd892ca1
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
env
|
||||
__pycache__
|
5
requrements.txt
Normal file
5
requrements.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
certifi==2023.5.7
|
||||
charset-normalizer==3.1.0
|
||||
idna==3.4
|
||||
requests==2.31.0
|
||||
urllib3==2.0.3
|
10
semrel/__init__.py
Normal file
10
semrel/__init__.py
Normal file
|
@ -0,0 +1,10 @@
|
|||
import sys
|
||||
|
||||
from .args import Args
|
||||
from .servers.gitea import Gitea
|
||||
|
||||
def main():
|
||||
args = Args()
|
||||
print(f"{args.domain} is a {args.server_type} server")
|
||||
server = Gitea(args.domain)
|
||||
print(f"Latest Release of {args.repo}: {server.latestRelease(args.repo, args.api_key)[0]['tag_name']}")
|
6
semrel/__main__.py
Normal file
6
semrel/__main__.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import semrel
|
||||
|
||||
if __name__ == '__main__':
|
||||
semrel.main()
|
23
semrel/args/__init__.py
Normal file
23
semrel/args/__init__.py
Normal file
|
@ -0,0 +1,23 @@
|
|||
import getopt, sys
|
||||
|
||||
class Args:
|
||||
domain = None
|
||||
server_type = None
|
||||
api_key = None
|
||||
repo = None
|
||||
|
||||
def __init__(self):
|
||||
try:
|
||||
opts, args = getopt.getopt(sys.argv[1:], 'd:t:k:r:', ['domain=', 'type=', 'key=', 'repo='])
|
||||
except Exception as e:
|
||||
print(e)
|
||||
for opt, arg in opts:
|
||||
if opt in ['-d', '--domain']:
|
||||
self.domain = arg
|
||||
elif opt in ['-t', '--type']:
|
||||
self.server_type = arg
|
||||
elif opt in ['-k', '--key']:
|
||||
self.api_key = arg
|
||||
elif opt in ['-r', '--repo']:
|
||||
self.repo = arg
|
||||
|
0
semrel/servers/__init__.py
Normal file
0
semrel/servers/__init__.py
Normal file
16
semrel/servers/gitea.py
Normal file
16
semrel/servers/gitea.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
import requests
|
||||
import json
|
||||
|
||||
class Gitea:
|
||||
domain = None
|
||||
def latestRelease(self, repo: str, api_key: str) -> dict:
|
||||
url = f"https://{self.domain}/api/v1/repos/{repo}/releases"
|
||||
querystring = {'limit': "1"}
|
||||
payload = ""
|
||||
headers = {"Authorization": f"Bearer {api_key}"}
|
||||
print(url)
|
||||
response = requests.get(url, data=payload, headers=headers, params=querystring)
|
||||
return json.loads(response.text)
|
||||
|
||||
def __init__(self, domain):
|
||||
self.domain = domain
|
Loading…
Reference in a new issue