From f88fe1870ab28a09c9236057c075da3a1f3aa481 Mon Sep 17 00:00:00 2001 From: Helmut Grohne Date: Wed, 20 Feb 2013 17:14:48 +0100 Subject: mark required packages in binary view --- webapp.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/webapp.py b/webapp.py index 0cc9c99..6f705b9 100755 --- a/webapp.py +++ b/webapp.py @@ -28,7 +28,7 @@ def format_size(size): jinjaenv.filters["format_size"] = format_size package_template = jinjaenv.from_string( -"""duplication of {{ package|e }} +"""duplication of {{ package|e }}

{{ package|e }}

Version: {{ version|e }}

Architecture: {{ architecture|e }}

@@ -39,7 +39,8 @@ package_template = jinjaenv.from_string(

sharing with respect to {{ function }}

{%- for entry in sharing|sort(attribute="savable", reverse=true) -%} - + {%- if entry.package %}{{ entry.package|e }}{% else %}self{% endif %} compare @@ -115,8 +116,14 @@ class Application(object): details.update(dict(num_files=num_files, total_size=total_size)) return details + def get_dependencies(self, package): + self.cur.execute("SELECT required FROM dependency WHERE package = ?;", + (package,)) + return set(row[0] for row in self.cur.fetchall()) + def show_package(self, package): params = self.get_details(package) + params["dependencies"] = self.get_dependencies(package) shared = dict() self.cur.execute("SELECT a.filename, a.function, a.hash, a.size, b.package FROM content AS a JOIN content AS b ON a.function = b.function AND a.hash = b.hash WHERE a.package = ? AND (a.filename != b.filename OR b.package != ?);", -- cgit v1.2.3
packagefiles shareddata shared
{% if entry.package %}{{ entry.package|e }}{% else %}self{% endif %} +
{{ entry.duplicate }} ({{ (100 * entry.duplicate / num_files)|int }}%) {{ entry.savable|format_size }} ({{ (100 * entry.savable / total_size)|int }}%)