euscan: generic handler fixes
* urljoin was broken with dirs ("http://site.com/lol" joined with "wat" produces http://site.com/wat) * fixed _v regex, don't match what is not needed Signed-off-by: volpino <fox91@anche.no>
This commit is contained in:
parent
29101f88f8
commit
21c6a9107d
@ -35,7 +35,10 @@ def scan_html(data, url, pattern):
|
|||||||
|
|
||||||
match = re.match(pattern, href, re.I)
|
match = re.match(pattern, href, re.I)
|
||||||
if match:
|
if match:
|
||||||
results.append((".".join(match.groups()), match.group(0)))
|
results.append(
|
||||||
|
(".".join([x for x in match.groups() if x is not None]),
|
||||||
|
match.group(0))
|
||||||
|
)
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
@ -47,8 +50,10 @@ def scan_ftp(data, url, pattern):
|
|||||||
line = line.replace("\n", "").replace("\r", "")
|
line = line.replace("\n", "").replace("\r", "")
|
||||||
match = re.search(pattern, line, re.I)
|
match = re.search(pattern, line, re.I)
|
||||||
if match:
|
if match:
|
||||||
results.append((".".join(match.groups()), match.group(0)))
|
results.append(
|
||||||
|
(".".join([x for x in match.groups() if x is not None]),
|
||||||
|
match.group(0))
|
||||||
|
)
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
@ -88,6 +93,8 @@ def scan_directory_recursive(cp, ver, rev, url, steps, orig_url):
|
|||||||
pv = helpers.gentoo_mangle_version(up_pv)
|
pv = helpers.gentoo_mangle_version(up_pv)
|
||||||
if helpers.version_filtered(cp, ver, pv):
|
if helpers.version_filtered(cp, ver, pv):
|
||||||
continue
|
continue
|
||||||
|
if not url.endswith("/"):
|
||||||
|
url = url + "/"
|
||||||
path = urljoin(url, path)
|
path = urljoin(url, path)
|
||||||
|
|
||||||
if not steps and path not in orig_url:
|
if not steps and path not in orig_url:
|
||||||
|
@ -30,8 +30,8 @@ VERSION_CMP_PACKAGE_QUIRKS = {
|
|||||||
'sys-process/htop': htop_vercmp
|
'sys-process/htop': htop_vercmp
|
||||||
}
|
}
|
||||||
|
|
||||||
_v_end = '((-|_)(pre|p|beta|b|alpha|a|rc|r)\d*)'
|
_v_end = r'(?:(?:-|_)(?:pre|p|beta|b|alpha|a|rc|r)\d*)'
|
||||||
_v = r'((\d+)((\.\d+)*)([a-zA-Z]*?)(' + _v_end + '*))'
|
_v = r'((?:\d+)(?:(?:\.\d+)*)(?:[a-zA-Z]*?)(?:' + _v_end + '*))'
|
||||||
|
|
||||||
|
|
||||||
# Stolen from g-pypi
|
# Stolen from g-pypi
|
||||||
|
Loading…
Reference in New Issue
Block a user