From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1RGAII-0001ZI-Dw for garchives@archives.gentoo.org; Tue, 18 Oct 2011 14:05:26 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 31572E04AB; Tue, 18 Oct 2011 14:05:17 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id F0B5CE04AB for ; Tue, 18 Oct 2011 14:05:16 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 772031B4011 for ; Tue, 18 Oct 2011 14:05:16 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 8E44780042 for ; Tue, 18 Oct 2011 14:05:15 +0000 (UTC) From: "Paweł Hajdan" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Paweł Hajdan" Message-ID: Subject: [gentoo-commits] proj/arch-tools:master commit in: / X-VCS-Repository: proj/arch-tools X-VCS-Files: reverse-dependencies.py X-VCS-Directories: / X-VCS-Committer: phajdan.jr X-VCS-Committer-Name: Paweł Hajdan X-VCS-Revision: c8fd3c42664821fabdc7af7c976f197a4c5551c6 Date: Tue, 18 Oct 2011 14:05:15 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 01b6c42e4b862a6d32217a0e8d954aa8 commit: c8fd3c42664821fabdc7af7c976f197a4c5551c6 Author: Pawel Hajdan, Jr gentoo org> AuthorDate: Tue Oct 18 14:00:13 2011 +0000 Commit: Pawe=C5=82 Hajdan gentoo org> CommitDate: Tue Oct 18 14:00:13 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/arch-tools.gi= t;a=3Dcommit;h=3Dc8fd3c42 Implement limit option for reverse dependencies. --- reverse-dependencies.py | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/reverse-dependencies.py b/reverse-dependencies.py index 88d79aa..4f87139 100755 --- a/reverse-dependencies.py +++ b/reverse-dependencies.py @@ -4,6 +4,7 @@ =20 import optparse import os +import random import types =20 os.environ["PORTDIR_OVERLAY"] =3D "" @@ -31,6 +32,7 @@ if __name__ =3D=3D "__main__": parser =3D optparse.OptionParser() parser.add_option("-i", "--input", dest=3D"input_filename", default=3D"= package.keywords", help=3D"Input filename for generated package.keywords = file [default=3D%default]") parser.add_option("-o", "--output", dest=3D"output_filename", default=3D= "package.rdeps", help=3D"Output filename for generated package.rdeps file= [default=3D%default]") + parser.add_option("-l", "--limit", dest=3D"limit", type=3D"int", defaul= t=3D-1, help=3D"Limit of reverse dependencies per package. Default is no = limit.") parser.add_option("-v", "--verbose", dest=3D"verbose", action=3D"store_= true", default=3DFalse) =20 (options, args) =3D parser.parse_args() @@ -68,7 +70,12 @@ if __name__ =3D=3D "__main__": pn =3D portage.versions.pkgsplit(cpv)[0] if pn in reverse_deps: output_file.write("# Reverse dependencies for %s\n" % pn) - for cp, use_combinations in reverse_deps[pn].items(): + if options.limit =3D=3D -1: + cps =3D reverse_deps[pn] + else: + cps =3D random.sample(reverse_deps[pn], min(options.limit, len(rev= erse_deps[pn]))) + for cp in cps: + use_combinations =3D reverse_deps[pn][cp] if use_combinations !=3D [[]]: output_file.write("# One of the following USE flag combinations i= s required:\n") for use_combination in use_combinations: