From 44858e06188946c0082bb09061fcfa6cbb33938b Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Wed, 19 Apr 2017 08:53:30 +0200 Subject: Store dependency descriptions in a separate column Split optional dependency descriptions from dependency names before storing them in the database and use a separate column to store the descriptions. This allows us to simplify and optimize the SQL queries in pkg_dependencies() as well as pkg_required(). Suggested-by: Florian Pritz Signed-off-by: Lukas Fleischer --- aurweb/git/update.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'aurweb/git/update.py') diff --git a/aurweb/git/update.py b/aurweb/git/update.py index 532db92d..09a57ef0 100755 --- a/aurweb/git/update.py +++ b/aurweb/git/update.py @@ -52,10 +52,7 @@ def parse_dep(depstring): depname = re.sub(r'(<|=|>).*', '', dep) depcond = dep[len(depname):] - if (desc): - return (depname + ': ' + desc, depcond) - else: - return (depname, depcond) + return (depname, desc, depcond) def create_pkgbase(conn, pkgbase, user): @@ -141,12 +138,13 @@ def save_metadata(metadata, conn, user): [deptype]) deptypeid = cur.fetchone()[0] for dep_info in extract_arch_fields(pkginfo, deptype): - depname, depcond = parse_dep(dep_info['value']) + depname, depdesc, depcond = parse_dep(dep_info['value']) deparch = dep_info['arch'] conn.execute("INSERT INTO PackageDepends (PackageID, " + - "DepTypeID, DepName, DepCondition, DepArch) " + - "VALUES (?, ?, ?, ?, ?)", - [pkgid, deptypeid, depname, depcond, deparch]) + "DepTypeID, DepName, DepDesc, DepCondition, " + + "DepArch) VALUES (?, ?, ?, ?, ?, ?)", + [pkgid, deptypeid, depname, depdesc, depcond, + deparch]) # Add package relations (conflicts, provides, replaces). for reltype in ('conflicts', 'provides', 'replaces'): @@ -154,7 +152,7 @@ def save_metadata(metadata, conn, user): [reltype]) reltypeid = cur.fetchone()[0] for rel_info in extract_arch_fields(pkginfo, reltype): - relname, relcond = parse_dep(rel_info['value']) + relname, _, relcond = parse_dep(rel_info['value']) relarch = rel_info['arch'] conn.execute("INSERT INTO PackageRelations (PackageID, " + "RelTypeID, RelName, RelCondition, RelArch) " + -- cgit v1.2.3-24-g4f1b