mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
implement /packages/{name} as its own route
A few things added with this commit: - aurweb.packages.util - A module providing package and pkgbase helpers. - aurweb.template.register_filter - A decorator that can be used to register a filter: @register_filter("some_filter") def f(): pass Additionally, template partials have been split off a bit differently. Changes: - /packages/{name} is defined in packages/show.html. - partials/packages/package_actions.html is now partials/packages/actions.html. - partials/packages/details.html has been added. - partials/packages/comments.html has been added. - partials/packages/comment.html has been added. - models.dependency_type additions: name and id constants. - models.relation_type additions: name and id constants. - models.official_provider additions: base official url constant. Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
2d3d03e01e
commit
ae3d302c47
22 changed files with 1166 additions and 254 deletions
|
@ -1,7 +1,13 @@
|
|||
from sqlalchemy import Column, Integer
|
||||
|
||||
from aurweb import db
|
||||
from aurweb.models.declarative import Base
|
||||
|
||||
DEPENDS = "depends"
|
||||
MAKEDEPENDS = "makedepends"
|
||||
CHECKDEPENDS = "checkdepends"
|
||||
OPTDEPENDS = "optdepends"
|
||||
|
||||
|
||||
class DependencyType(Base):
|
||||
__tablename__ = "DependencyTypes"
|
||||
|
@ -12,3 +18,13 @@ class DependencyType(Base):
|
|||
|
||||
def __init__(self, Name: str = None):
|
||||
self.Name = Name
|
||||
|
||||
|
||||
DEPENDS_ID = db.query(DependencyType).filter(
|
||||
DependencyType.Name == DEPENDS).first().ID
|
||||
MAKEDEPENDS_ID = db.query(DependencyType).filter(
|
||||
DependencyType.Name == MAKEDEPENDS).first().ID
|
||||
CHECKDEPENDS_ID = db.query(DependencyType).filter(
|
||||
DependencyType.Name == CHECKDEPENDS).first().ID
|
||||
OPTDEPENDS_ID = db.query(DependencyType).filter(
|
||||
DependencyType.Name == OPTDEPENDS).first().ID
|
||||
|
|
|
@ -3,6 +3,8 @@ from sqlalchemy.exc import IntegrityError
|
|||
|
||||
from aurweb.models.declarative import Base
|
||||
|
||||
OFFICIAL_BASE = "https://aur.archlinux.org"
|
||||
|
||||
|
||||
class OfficialProvider(Base):
|
||||
__tablename__ = "OfficialProviders"
|
||||
|
|
|
@ -61,3 +61,12 @@ class PackageDependency(Base):
|
|||
self.DepDesc = DepDesc
|
||||
self.DepCondition = DepCondition
|
||||
self.DepArch = DepArch
|
||||
|
||||
def is_package(self) -> bool:
|
||||
from aurweb import db
|
||||
from aurweb.models.official_provider import OfficialProvider
|
||||
from aurweb.models.package import Package
|
||||
pkg = db.query(Package, Package.Name == self.DepName)
|
||||
official = db.query(OfficialProvider,
|
||||
OfficialProvider.Name == self.DepName)
|
||||
return pkg.count() > 0 or official.count() > 0
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
from sqlalchemy import Column, Integer
|
||||
|
||||
from aurweb import db
|
||||
from aurweb.models.declarative import Base
|
||||
|
||||
CONFLICTS = "conflicts"
|
||||
PROVIDES = "provides"
|
||||
REPLACES = "replaces"
|
||||
|
||||
|
||||
class RelationType(Base):
|
||||
__tablename__ = "RelationTypes"
|
||||
|
@ -12,3 +17,11 @@ class RelationType(Base):
|
|||
|
||||
def __init__(self, Name: str = None):
|
||||
self.Name = Name
|
||||
|
||||
|
||||
CONFLICTS_ID = db.query(RelationType).filter(
|
||||
RelationType.Name == CONFLICTS).first().ID
|
||||
PROVIDES_ID = db.query(RelationType).filter(
|
||||
RelationType.Name == PROVIDES).first().ID
|
||||
REPLACES_ID = db.query(RelationType).filter(
|
||||
RelationType.Name == REPLACES).first().ID
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue