@@ -49,3 +49,10 @@ class Connection:
def close(self):
self._conn.close()
+
+ def fetch_userid(self, user):
+ cur = self.execute("SELECT ID FROM Users WHERE Username = ?", [user])
+ userid = cur.fetchone()[0]
+ if userid == 0:
+ raise aurweb.exceptions.InvalidUserException(user)
+ return userid
@@ -38,10 +38,7 @@ def pkgbase_exists(pkgbase):
def list_repos(user):
conn = aurweb.db.Connection()
- cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user])
- userid = cur.fetchone()[0]
- if userid == 0:
- raise aurweb.exceptions.InvalidUserException(user)
+ userid = conn.fetch_userid(user)
cur = conn.execute("SELECT Name, PackagerUID FROM PackageBases " +
"WHERE MaintainerUID = ?", [userid])
@@ -58,10 +55,7 @@ def create_pkgbase(pkgbase, user):
conn = aurweb.db.Connection()
- cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user])
- userid = cur.fetchone()[0]
- if userid == 0:
- raise aurweb.exceptions.InvalidUserException(user)
+ userid = conn.fetch_userid(user)
now = int(time.time())
cur = conn.execute("INSERT INTO PackageBases (Name, SubmittedTS, " +
@@ -90,10 +84,7 @@ def pkgbase_adopt(pkgbase, user, privileged):
if not privileged and not cur.fetchone():
raise aurweb.exceptions.PermissionDeniedException(user)
- cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user])
- userid = cur.fetchone()[0]
- if userid == 0:
- raise aurweb.exceptions.InvalidUserException(user)
+ userid = conn.fetch_userid(user)
cur = conn.execute("UPDATE PackageBases SET MaintainerUID = ? " +
"WHERE ID = ?", [userid, pkgbase_id])
@@ -138,23 +129,8 @@ def pkgbase_set_comaintainers(pkgbase, userlist,
user, privileged):
userlist_old = set(pkgbase_get_comaintainers(pkgbase))
- uids_old = set()
- for olduser in userlist_old:
- cur = conn.execute("SELECT ID FROM Users WHERE Username = ?",
- [olduser])
- userid = cur.fetchone()[0]
- if userid == 0:
- raise aurweb.exceptions.InvalidUserException(user)
- uids_old.add(userid)
-
- uids_new = set()
- for newuser in userlist:
- cur = conn.execute("SELECT ID FROM Users WHERE Username = ?",
- [newuser])
- userid = cur.fetchone()[0]
- if userid == 0:
- raise aurweb.exceptions.InvalidUserException(user)
- uids_new.add(userid)
+ uids_old = set([conn.fetch_userid(olduser) for olduser in userlist_old])
+ uids_new = set([conn.fetch_userid(newuser) for newuser in userlist])
uids_add = uids_new - uids_old
--- aurweb/db.py | 7 ++++++ aurweb/git/serve.py | 68 ++++++++++------------------------------------------- 2 files changed, 19 insertions(+), 56 deletions(-) uids_rem = uids_old - uids_new @@ -209,10 +185,7 @@ def pkgreq_close(reqid, user, reason, comments, autoclose=False): if autoclose: userid = 0 else: - cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user]) - userid = cur.fetchone()[0] - if userid == 0: - raise aurweb.exceptions.InvalidUserException(user) + userid = conn.fetch_userid(user) conn.execute("UPDATE PackageRequests SET Status = ?, ClosureComment = ? " + "WHERE ID = ?", [status, comments, reqid]) @@ -250,9 +223,7 @@ def pkgbase_disown(pkgbase, user, privileged): comaintainers = pkgbase_get_comaintainers(pkgbase) if len(comaintainers) > 0: new_maintainer = comaintainers[0] - cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", - [new_maintainer]) - new_maintainer_userid = cur.fetchone()[0] + new_maintainer_userid = conn.fetch_userid(new_maintainer) comaintainers.remove(new_maintainer) pkgbase_set_comaintainers(pkgbase, comaintainers, user, privileged) @@ -261,10 +232,7 @@ def pkgbase_disown(pkgbase, user, privileged): conn.commit() - cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user]) - userid = cur.fetchone()[0] - if userid == 0: - raise aurweb.exceptions.InvalidUserException(user) + userid = conn.fetch_userid(user) subprocess.Popen((notify_cmd, 'disown', str(pkgbase_id), str(userid))) @@ -280,10 +248,7 @@ def pkgbase_flag(pkgbase, user, comment): conn = aurweb.db.Connection() - cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user]) - userid = cur.fetchone()[0] - if userid == 0: - raise aurweb.exceptions.InvalidUserException(user) + userid = conn.fetch_userid(user) now = int(time.time()) conn.execute("UPDATE PackageBases SET " + @@ -303,10 +268,7 @@ def pkgbase_unflag(pkgbase, user): conn = aurweb.db.Connection() - cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user]) - userid = cur.fetchone()[0] - if userid == 0: - raise aurweb.exceptions.InvalidUserException(user) + userid = conn.fetch_userid(user) if user in pkgbase_get_comaintainers(pkgbase): conn.execute("UPDATE PackageBases SET OutOfDateTS = NULL " + @@ -326,10 +288,7 @@ def pkgbase_vote(pkgbase, user): conn = aurweb.db.Connection() - cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user]) - userid = cur.fetchone()[0] - if userid == 0: - raise aurweb.exceptions.InvalidUserException(user) + userid = conn.fetch_userid(user) cur = conn.execute("SELECT COUNT(*) FROM PackageVotes " + "WHERE UsersID = ? AND PackageBaseID = ?", @@ -352,10 +311,7 @@ def pkgbase_unvote(pkgbase, user): conn = aurweb.db.Connection() - cur = conn.execute("SELECT ID FROM Users WHERE Username = ?", [user]) - userid = cur.fetchone()[0] - if userid == 0: - raise aurweb.exceptions.InvalidUserException(user) + userid = conn.fetch_userid(user) cur = conn.execute("SELECT COUNT(*) FROM PackageVotes " + "WHERE UsersID = ? AND PackageBaseID = ?",