mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-15 23:42:37 +03:00
Merge branch '273-invalid-apk-gets-through-to-publish-stage' into 'master'
throw proper error when download of apks fail Closes #273 See merge request !258
This commit is contained in:
commit
1c25c516aa
3 changed files with 12 additions and 3 deletions
|
@ -27,6 +27,7 @@ import tarfile
|
||||||
import traceback
|
import traceback
|
||||||
import time
|
import time
|
||||||
import json
|
import json
|
||||||
|
import requests
|
||||||
from configparser import ConfigParser
|
from configparser import ConfigParser
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
import logging
|
import logging
|
||||||
|
@ -1212,7 +1213,10 @@ def main():
|
||||||
logging.info("...retrieving " + url)
|
logging.info("...retrieving " + url)
|
||||||
of = "{0}_{1}.apk.binary".format(app.id, build.versionCode)
|
of = "{0}_{1}.apk.binary".format(app.id, build.versionCode)
|
||||||
of = os.path.join(output_dir, of)
|
of = os.path.join(output_dir, of)
|
||||||
|
try:
|
||||||
net.download_file(url, local_filename=of)
|
net.download_file(url, local_filename=of)
|
||||||
|
except requests.exceptions.HTTPError as e:
|
||||||
|
raise FDroidException('downloading Binaries from %s failed' % url) from e
|
||||||
|
|
||||||
build_succeeded.append(app)
|
build_succeeded.append(app)
|
||||||
wikilog = "Build succeeded"
|
wikilog = "Build succeeded"
|
||||||
|
|
|
@ -26,7 +26,8 @@ def download_file(url, local_filename=None, dldir='tmp'):
|
||||||
if local_filename is None:
|
if local_filename is None:
|
||||||
local_filename = os.path.join(dldir, filename)
|
local_filename = os.path.join(dldir, filename)
|
||||||
# the stream=True parameter keeps memory usage low
|
# the stream=True parameter keeps memory usage low
|
||||||
r = requests.get(url, stream=True)
|
r = requests.get(url, stream=True, allow_redirects=True)
|
||||||
|
r.raise_for_status()
|
||||||
with open(local_filename, 'wb') as f:
|
with open(local_filename, 'wb') as f:
|
||||||
for chunk in r.iter_content(chunk_size=1024):
|
for chunk in r.iter_content(chunk_size=1024):
|
||||||
if chunk: # filter out keep-alive new chunks
|
if chunk: # filter out keep-alive new chunks
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import glob
|
import glob
|
||||||
|
import requests
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
@ -76,7 +77,10 @@ def main():
|
||||||
os.remove(remoteapk)
|
os.remove(remoteapk)
|
||||||
url = 'https://f-droid.org/repo/' + apkfilename
|
url = 'https://f-droid.org/repo/' + apkfilename
|
||||||
logging.info("...retrieving " + url)
|
logging.info("...retrieving " + url)
|
||||||
|
try:
|
||||||
net.download_file(url, dldir=tmp_dir)
|
net.download_file(url, dldir=tmp_dir)
|
||||||
|
except requests.exceptions.HTTPError as e:
|
||||||
|
raise FDroidException('downloading %s failed', url) from e
|
||||||
|
|
||||||
compare_result = common.verify_apks(
|
compare_result = common.verify_apks(
|
||||||
remoteapk,
|
remoteapk,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue