mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
style: Run pre-commit
This commit is contained in:
parent
b47882b114
commit
9c6c13b78a
235 changed files with 7180 additions and 5628 deletions
|
@ -22,14 +22,16 @@ class PackageDependency(Base):
|
|||
}
|
||||
|
||||
Package = relationship(
|
||||
_Package, backref=backref("package_dependencies", lazy="dynamic",
|
||||
cascade="all, delete"),
|
||||
foreign_keys=[__table__.c.PackageID])
|
||||
_Package,
|
||||
backref=backref("package_dependencies", lazy="dynamic", cascade="all, delete"),
|
||||
foreign_keys=[__table__.c.PackageID],
|
||||
)
|
||||
|
||||
DependencyType = relationship(
|
||||
_DependencyType,
|
||||
backref=backref("package_dependencies", lazy="dynamic"),
|
||||
foreign_keys=[__table__.c.DepTypeID])
|
||||
foreign_keys=[__table__.c.DepTypeID],
|
||||
)
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
@ -38,43 +40,58 @@ class PackageDependency(Base):
|
|||
raise IntegrityError(
|
||||
statement="Foreign key PackageID cannot be null.",
|
||||
orig="PackageDependencies.PackageID",
|
||||
params=("NULL"))
|
||||
params=("NULL"),
|
||||
)
|
||||
|
||||
if not self.DependencyType and not self.DepTypeID:
|
||||
raise IntegrityError(
|
||||
statement="Foreign key DepTypeID cannot be null.",
|
||||
orig="PackageDependencies.DepTypeID",
|
||||
params=("NULL"))
|
||||
params=("NULL"),
|
||||
)
|
||||
|
||||
if self.DepName is None:
|
||||
raise IntegrityError(
|
||||
statement="Column DepName cannot be null.",
|
||||
orig="PackageDependencies.DepName",
|
||||
params=("NULL"))
|
||||
params=("NULL"),
|
||||
)
|
||||
|
||||
def is_package(self) -> bool:
|
||||
pkg = db.query(_Package).filter(_Package.Name == self.DepName).exists()
|
||||
official = db.query(_OfficialProvider).filter(
|
||||
_OfficialProvider.Name == self.DepName).exists()
|
||||
official = (
|
||||
db.query(_OfficialProvider)
|
||||
.filter(_OfficialProvider.Name == self.DepName)
|
||||
.exists()
|
||||
)
|
||||
return db.query(pkg).scalar() or db.query(official).scalar()
|
||||
|
||||
def provides(self) -> list[PackageRelation]:
|
||||
from aurweb.models.relation_type import PROVIDES_ID
|
||||
|
||||
rels = db.query(PackageRelation).join(_Package).filter(
|
||||
and_(PackageRelation.RelTypeID == PROVIDES_ID,
|
||||
PackageRelation.RelName == self.DepName)
|
||||
).with_entities(
|
||||
_Package.Name,
|
||||
literal(False).label("is_official")
|
||||
).order_by(_Package.Name.asc())
|
||||
rels = (
|
||||
db.query(PackageRelation)
|
||||
.join(_Package)
|
||||
.filter(
|
||||
and_(
|
||||
PackageRelation.RelTypeID == PROVIDES_ID,
|
||||
PackageRelation.RelName == self.DepName,
|
||||
)
|
||||
)
|
||||
.with_entities(_Package.Name, literal(False).label("is_official"))
|
||||
.order_by(_Package.Name.asc())
|
||||
)
|
||||
|
||||
official_rels = db.query(_OfficialProvider).filter(
|
||||
and_(_OfficialProvider.Provides == self.DepName,
|
||||
_OfficialProvider.Name != self.DepName)
|
||||
).with_entities(
|
||||
_OfficialProvider.Name,
|
||||
literal(True).label("is_official")
|
||||
).order_by(_OfficialProvider.Name.asc())
|
||||
official_rels = (
|
||||
db.query(_OfficialProvider)
|
||||
.filter(
|
||||
and_(
|
||||
_OfficialProvider.Provides == self.DepName,
|
||||
_OfficialProvider.Name != self.DepName,
|
||||
)
|
||||
)
|
||||
.with_entities(_OfficialProvider.Name, literal(True).label("is_official"))
|
||||
.order_by(_OfficialProvider.Name.asc())
|
||||
)
|
||||
|
||||
return rels.union(official_rels).all()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue