Merge branch 'fix_UpdateCheckData' into 'master'

[checkupdates] UpdateCheckData warn if file was not found

See merge request fdroid/fdroidserver!948
This commit is contained in:
Jochen Sprickerhof 2021-06-09 10:09:45 +00:00
commit 799ceda731
2 changed files with 18 additions and 7 deletions

View file

@ -162,17 +162,25 @@ def check_tags(app, pattern):
if app.UpdateCheckData: if app.UpdateCheckData:
filecode, codeex, filever, verex = app.UpdateCheckData.split('|') filecode, codeex, filever, verex = app.UpdateCheckData.split('|')
vercode = None vercode = None
if filecode: filecode = build_dir / filecode
filecontent = (build_dir / filecode).read_text() if not filecode.is_file():
logging.debug("UpdateCheckData file {0} not found in tag {1}".format(filecode, tag))
continue
m = re.search(codeex, filecontent) filecontent = filecode.read_text()
if m:
vercode = m.group(1).strip() m = re.search(codeex, filecontent)
if m:
vercode = m.group(1).strip()
version = "??" version = "??"
if filever: if filever:
if filever != '.': if filever != '.':
filecontent = (build_dir / filever).read_text() filever = build_dir / filever
if filever.is_file():
filecontent = filever.read_text()
else:
logging.debug("UpdateCheckData file {0} not found in tag {1}".format(filever, tag))
m = re.search(verex, filecontent) m = re.search(verex, filecontent)
if m: if m:

View file

@ -212,8 +212,11 @@ class CheckupdatesTest(unittest.TestCase):
vcs.latesttags.return_value = ['1.1.8', '1.1.9'] vcs.latesttags.return_value = ['1.1.8', '1.1.9']
with mock.patch( with mock.patch(
'pathlib.Path.read_text', lambda a: 'v1.1.9\nc10109' 'pathlib.Path.read_text', lambda a: 'v1.1.9\nc10109'
) as _ignored, mock.patch('fdroidserver.common.getvcs', return_value=vcs): ) as _ignored, mock.patch.object(
Path, 'is_file'
) as mock_path, mock.patch('fdroidserver.common.getvcs', return_value=vcs):
_ignored # silence the linters _ignored # silence the linters
mock_path.is_file.return_falue = True
vername, vercode, _tag = fdroidserver.checkupdates.check_tags(app, None) vername, vercode, _tag = fdroidserver.checkupdates.check_tags(app, None)
self.assertEqual(vername, '1.1.9') self.assertEqual(vername, '1.1.9')
self.assertEqual(vercode, '10109') self.assertEqual(vercode, '10109')