[PATCH 1/2] db.py: extract commonly used fetch_userid function
Simon Legner
simon.legner at gmail.com
Tue Apr 3 19:19:05 UTC 2018
---
aurweb/db.py | 7 ++++++
aurweb/git/serve.py | 68 ++++++++++-------------------------------------------
2 files changed, 19 insertions(+), 56 deletions(-)
diff --git a/aurweb/db.py b/aurweb/db.py
index 0b58197..bbc674b 100644
--- a/aurweb/db.py
+++ b/aurweb/db.py
@@ -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
diff --git a/aurweb/git/serve.py b/aurweb/git/serve.py
index 93ff34c..01aea20 100755
--- a/aurweb/git/serve.py
+++ b/aurweb/git/serve.py
@@ -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
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 = ?",
--
2.16.3
More information about the aur-dev
mailing list