cleanup(fastapi): simplify PackageDependency.is_package()

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-11-12 20:49:25 -08:00
parent bd59adc886
commit cee7512e4d

View file

@ -1,9 +1,10 @@
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import backref, relationship from sqlalchemy.orm import backref, relationship
from aurweb import schema from aurweb import db, schema
from aurweb.models.declarative import Base from aurweb.models.declarative import Base
from aurweb.models.dependency_type import DependencyType as _DependencyType from aurweb.models.dependency_type import DependencyType as _DependencyType
from aurweb.models.official_provider import OfficialProvider as _OfficialProvider
from aurweb.models.package import Package as _Package from aurweb.models.package import Package as _Package
@ -46,11 +47,7 @@ class PackageDependency(Base):
params=("NULL")) params=("NULL"))
def is_package(self) -> bool: def is_package(self) -> bool:
# TODO: Improve the speed of this query if possible. pkg = db.query(_Package).filter(_Package.Name == self.DepName).exists()
from aurweb import db official = db.query(_OfficialProvider).filter(
from aurweb.models.official_provider import OfficialProvider _OfficialProvider.Name == self.DepName).exists()
from aurweb.models.package import Package return db.query(pkg).scalar() or db.query(official).scalar()
pkg = db.query(Package, Package.Name == self.DepName)
official = db.query(OfficialProvider,
OfficialProvider.Name == self.DepName)
return pkg.scalar() or official.scalar()