diff --git a/lib/datasource/pypi/index.js b/lib/datasource/pypi/index.js index 977888fe11faf348a836f377a95ae72488ee8273..80932eb6659002d691e4fe6419929b424cd672f2 100644 --- a/lib/datasource/pypi/index.js +++ b/lib/datasource/pypi/index.js @@ -116,7 +116,7 @@ async function getSimpleDependency(depName, hostUrl) { const links = root.querySelectorAll('a'); const versions = new Set(); for (const link of links) { - const result = extractVersionFromLinkText(link.text); + const result = extractVersionFromLinkText(link.text, depName); if (result) { versions.add(result); } @@ -136,11 +136,11 @@ async function getSimpleDependency(depName, hostUrl) { } } -function extractVersionFromLinkText(text) { - const versionRegexp = /\d+(\.\d+)+/; - const result = text.match(versionRegexp); - if (result && result.length > 0) { - return result[0]; +function extractVersionFromLinkText(text, depName) { + const prefix = `${depName}-`; + const suffix = '.tar.gz'; + if (!(text.startsWith(prefix) && text.endsWith(suffix))) { + return null; } - return null; + return text.replace(prefix, '').replace(/\.tar\.gz$/, ''); }