mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-22 17:06:33 +03:00
Allow to specify the build to download from Appveyor
This commit is contained in:
parent
c59ff6a4b7
commit
62490a6bcc
|
@ -8,6 +8,7 @@ import sys
|
||||||
import logging
|
import logging
|
||||||
import datetime as dt
|
import datetime as dt
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
@ -24,6 +25,7 @@ class ScriptError(Exception):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
opt = parse_cmdline()
|
||||||
try:
|
try:
|
||||||
token = os.environ["APPVEYOR_TOKEN"]
|
token = os.environ["APPVEYOR_TOKEN"]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
@ -33,8 +35,13 @@ def main():
|
||||||
s.headers["Content-Type"] = "application/json"
|
s.headers["Content-Type"] = "application/json"
|
||||||
s.headers["Authorization"] = f"Bearer {token}"
|
s.headers["Authorization"] = f"Bearer {token}"
|
||||||
|
|
||||||
logger.info("fetching last run")
|
if opt.build:
|
||||||
resp = s.get(f"{API_URL}/projects/{REPOS}/")
|
logger.info("fetching build %s", opt.build)
|
||||||
|
resp = s.get(f"{API_URL}/projects/{REPOS}/build/{opt.build}")
|
||||||
|
else:
|
||||||
|
logger.info("fetching last run")
|
||||||
|
resp = s.get(f"{API_URL}/projects/{REPOS}")
|
||||||
|
|
||||||
resp.raise_for_status()
|
resp.raise_for_status()
|
||||||
data = resp.json()
|
data = resp.json()
|
||||||
|
|
||||||
|
@ -52,7 +59,7 @@ def main():
|
||||||
jobs = data["build"]["jobs"]
|
jobs = data["build"]["jobs"]
|
||||||
for job in jobs:
|
for job in jobs:
|
||||||
if job["status"] != "success":
|
if job["status"] != "success":
|
||||||
raise ScriptError("status for job {job['jobId']} is {job['status']}")
|
raise ScriptError(f"status for job {job['jobId']} is {job['status']}")
|
||||||
|
|
||||||
logger.info(f"fetching artifacts info for {job['name']}")
|
logger.info(f"fetching artifacts info for {job['name']}")
|
||||||
resp = s.get(f"{API_URL}/buildjobs/{job['jobId']}/artifacts/")
|
resp = s.get(f"{API_URL}/buildjobs/{job['jobId']}/artifacts/")
|
||||||
|
@ -77,6 +84,13 @@ def main():
|
||||||
logger.info("now you can run: 'twine upload -s packages/*'")
|
logger.info("now you can run: 'twine upload -s packages/*'")
|
||||||
|
|
||||||
|
|
||||||
|
def parse_cmdline():
|
||||||
|
parser = ArgumentParser(description=__doc__)
|
||||||
|
parser.add_argument("--build", help="build version to download [default: latest]")
|
||||||
|
opt = parser.parse_args()
|
||||||
|
return opt
|
||||||
|
|
||||||
|
|
||||||
def pretty_interval(td):
|
def pretty_interval(td):
|
||||||
secs = td.total_seconds()
|
secs = td.total_seconds()
|
||||||
mins, secs = divmod(secs, 60)
|
mins, secs = divmod(secs, 60)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user