diff options
Diffstat (limited to 'webapp.py')
-rw-r--r-- | webapp.py | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -426,20 +426,20 @@ def request_schedule(): raise werkzeug.exceptions.BadRequest() if buildarch == "any": buildarch = None + if hostarch == "any": + hostarch = None with db.engine.connect() as conn: query = sqlalchemy.text(""" SELECT 1 FROM depstate WHERE source = :source;""") if not conn.execute(query, source=source).first(): raise werkzeug.exceptions.BadRequest() - if hostarch == "any": - hostarch = None - else: - query = sqlalchemy.text(""" - SELECT 1 FROM depcheck - WHERE buildarch = :buildarch AND hostarch = :hostarch;""") - if not conn.execute(query, buildarch=buildarch, - hostarch=hostarch).first(): - raise werkzeug.exceptions.BadRequest() + query = sqlalchemy.text(""" + SELECT 1 FROM depcheck + WHERE buildarch = ifnull(:buildarch, buildarch) + AND hostarch = ifnull(:hostarch, hostarch);""") + if not conn.execute(query, buildarch=buildarch, + hostarch=hostarch).first(): + raise werkzeug.exceptions.BadRequest() query = sqlalchemy.text(""" INSERT INTO buildrequests (source, buildarch, hostarch, requesttime) |