dev channel VDS publisher: send a User-Agent (Cloudflare refuses urllib's default with 403)
This commit is contained in:
parent
39b2f73ad7
commit
9947ea1639
1 changed files with 7 additions and 2 deletions
|
|
@ -38,8 +38,13 @@ def key(v):
|
||||||
return tuple(int(x) for x in m.groups()) if m else None
|
return tuple(int(x) for x in m.groups()) if m else None
|
||||||
|
|
||||||
|
|
||||||
|
def headers():
|
||||||
|
# Cloudflare refuses urllib's default User-Agent (403)
|
||||||
|
return {"Authorization": f"token {open(TOKEN).read().strip()}", "User-Agent": "storebound-desktop-dev"}
|
||||||
|
|
||||||
|
|
||||||
def get(url, binary=False):
|
def get(url, binary=False):
|
||||||
req = urllib.request.Request(url, headers={"Authorization": f"token {open(TOKEN).read().strip()}"})
|
req = urllib.request.Request(url, headers=headers())
|
||||||
with urllib.request.urlopen(req, timeout=60) as r:
|
with urllib.request.urlopen(req, timeout=60) as r:
|
||||||
return r.read() if binary else json.loads(r.read())
|
return r.read() if binary else json.loads(r.read())
|
||||||
|
|
||||||
|
|
@ -102,7 +107,7 @@ def publish(rel, v):
|
||||||
assert SAFE.match(dest) and name in sums, name
|
assert SAFE.match(dest) and name in sums, name
|
||||||
p = f"{inc}/{dest}"
|
p = f"{inc}/{dest}"
|
||||||
log(f"{v}: fetching {name}")
|
log(f"{v}: fetching {name}")
|
||||||
req = urllib.request.Request(f"{FORGEJO}/attachments/{assets[name]['uuid']}", headers={"Authorization": f"token {open(TOKEN).read().strip()}"})
|
req = urllib.request.Request(f"{FORGEJO}/attachments/{assets[name]['uuid']}", headers=headers())
|
||||||
with urllib.request.urlopen(req, timeout=900) as r, open(p, "wb") as f:
|
with urllib.request.urlopen(req, timeout=900) as r, open(p, "wb") as f:
|
||||||
shutil.copyfileobj(r, f, 1 << 20)
|
shutil.copyfileobj(r, f, 1 << 20)
|
||||||
h = sha256(p)
|
h = sha256(p)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue