From: Michael Tremer Date: Sat, 25 Jun 2022 18:40:03 +0000 (+0000) Subject: packages: Refactor showing dependencies X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=66a6e7db2ca842e0c012d1c80301d8a4581b470d;p=pbs.git packages: Refactor showing dependencies Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index d5ff61c2..30c647d2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -295,11 +295,6 @@ dist_templates_modules_jobs_DATA = \ templates_modules_jobsdir = $(templates_modulesdir)/jobs -dist_templates_modules_packages_DATA = \ - src/templates/modules/packages/dependency-table.html - -templates_modules_packagesdir = $(templates_modulesdir)/packages - dist_templates_modules_select_DATA = \ src/templates/modules/select/locale.html \ src/templates/modules/select/timezone.html @@ -333,6 +328,7 @@ dist_templates_packages_builds_DATA = \ templates_packages_buildsdir = $(templates_packagesdir)/builds dist_templates_packages_modules_DATA = \ + src/templates/packages/modules/dependencies.html \ src/templates/packages/modules/info.html templates_packages_modulesdir = $(templates_packagesdir)/modules diff --git a/src/templates/modules/packages/dependency-table.html b/src/templates/modules/packages/dependency-table.html deleted file mode 100644 index 7b17d988..00000000 --- a/src/templates/modules/packages/dependency-table.html +++ /dev/null @@ -1,27 +0,0 @@ -
- {% for name, deps in dependencies %} -
- {% if name == "provides" %} -

{{ _("Provides") }}

- {% elif name == "requires" %} -

{{ _("Requires") }}

- {% elif name == "prerequires" %} -

{{ _("Pre-requires") }}

- {% elif name == "conflicts" %} -

{{ _("Conflicts") }}

- {% elif name == "obsoletes" %} -

{{ _("Obsoletes") }}

- {% elif name == "recommends" %} -

{{ _("Recommends") }}

- {% elif name == "suggests" %} -

{{ _("Suggests") }}

- {% end %} - -
    - {% for d in deps %} -
  • {{ d }}
  • - {% end %} -
-
- {% end %} -
diff --git a/src/templates/packages/modules/dependencies.html b/src/templates/packages/modules/dependencies.html new file mode 100644 index 00000000..0bfe347b --- /dev/null +++ b/src/templates/packages/modules/dependencies.html @@ -0,0 +1,21 @@ + + +
+ {% for i, dep in enumerate((dep for dep in deps if deps[dep])) %} +
+
    + {% for line in deps[dep] %} +
  • {{ line }}
  • + {% end %} +
+
+ {% end %} +
diff --git a/src/templates/packages/show.html b/src/templates/packages/show.html index 3ec410a5..cf6a1901 100644 --- a/src/templates/packages/show.html +++ b/src/templates/packages/show.html @@ -43,19 +43,7 @@ {# XXX add reference to commit for source packages #} -
-
-

- {% if package.arch == "src" %} - {{ _("Build dependencies") }} - {% else %} - {{ _("Dependencies") }} - {% end %} -

-
-
- - {% module PackagesDependencyTable(package) %} + {% module PackageDependencies(package) %} {% if package.filelist %}
diff --git a/src/web/__init__.py b/src/web/__init__.py index 00b91ad6..5219c492 100644 --- a/src/web/__init__.py +++ b/src/web/__init__.py @@ -62,7 +62,7 @@ class Application(tornado.web.Application): # Packages "PackageInfo" : packages.InfoModule, - "PackagesDependencyTable" : ui_modules.PackagesDependencyTableModule, + "PackageDependencies": packages.DependenciesModule, # Repositories "ReposList" : repos.ListModule, diff --git a/src/web/packages.py b/src/web/packages.py index 61c0141d..e817552f 100644 --- a/src/web/packages.py +++ b/src/web/packages.py @@ -172,6 +172,22 @@ class PackageFileViewHandler(PackageFileDownloadHandler): mimetype=mimetype, content=content, filesize=f.size) +class DependenciesModule(ui_modules.UIModule): + def render(self, package): + _ = self.locale.translate + + deps = { + _("Provides") : package.provides, + _("Requires") : package.requires, + _("Conflicts") : package.conflicts, + _("Obsoletes") : package.obsoletes, + _("Recommends") : package.recommends, + _("Suggests") : package.suggests, + } + + return self.render_string("packages/modules/dependencies.html", deps=deps) + + class InfoModule(ui_modules.UIModule): def render(self, package, show_evr=False): return self.render_string("packages/modules/info.html", diff --git a/src/web/ui_modules.py b/src/web/ui_modules.py index c823acde..77c6f537 100644 --- a/src/web/ui_modules.py +++ b/src/web/ui_modules.py @@ -108,31 +108,6 @@ class PackagesTableModule(UIModule): packages=packages) -class PackagesDependencyTableModule(UIModule): - def render(self, pkg): - if pkg.arch == "src": - all_deps = [ - (None, pkg.requires), - ] - else: - all_deps = [ - ("provides", pkg.provides), - ("requires", pkg.requires), - ("conflicts", pkg.conflicts), - ("obsoletes", pkg.obsoletes), - ("recommends", pkg.recommends), - ("suggests", pkg.suggests), - ] - - has_deps = [] - for name, deps in all_deps: - if deps: - has_deps.append((name, deps)) - - return self.render_string("modules/packages/dependency-table.html", - pkg=pkg, dependencies=has_deps) - - class PackageTable2Module(UIModule): def render(self, packages): return self.render_string("modules/package-table-detail.html",