| |
@@ -24,6 +24,7 @@
|
| |
'''
|
| |
import logging
|
| |
import os
|
| |
+ import re
|
| |
|
| |
import aiosqlite
|
| |
import werkzeug.utils
|
| |
@@ -85,21 +86,24 @@
|
| |
# user.
|
| |
query = GET_PACKAGE_BY.format(action)
|
| |
async with db.execute(query, (name,)) as cursor:
|
| |
- pkg = await cursor.fetchall()
|
| |
- if pkg:
|
| |
- pkg = [Packages(*item) for item in pkg]
|
| |
+ pkgc = await cursor.fetchall()
|
| |
+ if pkgc:
|
| |
+ pkg = [Packages(*item) for item in pkgc]
|
| |
break
|
| |
elif srcname:
|
| |
+ pattern = re.compile(f"{srcname}-[0-9]")
|
| |
async with db.execute(GET_PACKAGE_BY_SRC, (srcname+'-%',)) as cursor:
|
| |
- pkg = await cursor.fetchone()
|
| |
- if pkg:
|
| |
- pkg = Packages(*pkg)
|
| |
- break
|
| |
+ pkgc = await cursor.fetchall()
|
| |
+ if pkgc:
|
| |
+ for pkg_item in pkgc:
|
| |
+ if pattern.match(pkg_item[3]):
|
| |
+ pkg = Packages(*pkg_item)
|
| |
+ break
|
| |
else:
|
| |
async with db.execute(GET_PACKAGE, (name,)) as cursor:
|
| |
- pkg = await cursor.fetchone()
|
| |
- if pkg:
|
| |
- pkg = Packages(*pkg)
|
| |
+ pkgc = await cursor.fetchone()
|
| |
+ if pkgc:
|
| |
+ pkg = Packages(*pkgc)
|
| |
break
|
| |
if wrongdb:
|
| |
raise web.HTTPBadRequest()
|
| |
Fixes https://pagure.io/pagure-dist-git/issue/85