From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id EE91D1393DD for ; Tue, 29 Jul 2014 18:29:25 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id BAB2CE08D4; Tue, 29 Jul 2014 18:29:23 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 184BBE0946 for ; Tue, 29 Jul 2014 18:29:22 +0000 (UTC) Received: from spoonbill.gentoo.org (spoonbill.gentoo.org [81.93.255.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 96F29340126 for ; Tue, 29 Jul 2014 18:29:21 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by spoonbill.gentoo.org (Postfix) with ESMTP id 5990E18BF4 for ; Tue, 29 Jul 2014 18:29:20 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1406655554.768b134a4a388bc11175c5ff8975369fe01317fe.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/depres/simpledeprule/, roverlay/ X-VCS-Repository: proj/R_overlay X-VCS-Files: roverlay/depres/simpledeprule/rules.py roverlay/strutil.py X-VCS-Directories: roverlay/depres/simpledeprule/ roverlay/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: 768b134a4a388bc11175c5ff8975369fe01317fe X-VCS-Branch: master Date: Tue, 29 Jul 2014 18:29:20 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 778cb532-b1c7-4d57-9287-98be997a1247 X-Archives-Hash: 2e70f4519c905dd1fb67f11440ce1389 Message-ID: <20140729182920.FcHAYIQEsqqzHmIr9_pkubcI38E15f28zcE48lVqDHY@z> commit: 768b134a4a388bc11175c5ff8975369fe01317fe Author: André Erdmann mailerd de> AuthorDate: Tue Jul 29 17:39:14 2014 +0000 Commit: André Erdmann mailerd de> CommitDate: Tue Jul 29 17:39:14 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=768b134a roverlay/depres, rule constructor: accept bool value The wide_match option accepts a boolean value now: wide_match[=[1|y|yes|0|n|no|...]] --- roverlay/depres/simpledeprule/rules.py | 10 +++++++--- roverlay/strutil.py | 17 +++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/roverlay/depres/simpledeprule/rules.py b/roverlay/depres/simpledeprule/rules.py index df767ba..797ba98 100644 --- a/roverlay/depres/simpledeprule/rules.py +++ b/roverlay/depres/simpledeprule/rules.py @@ -21,14 +21,16 @@ __all__ = ( ) +import roverlay.strutil +import roverlay.depres.depenv + + from roverlay.depres.simpledeprule.util import \ RuleFileSyntaxError, get_slot_restrict, get_slot_parser from roverlay.depres.simpledeprule.abstractrules import \ SimpleRule, FuzzySimpleRule -import roverlay.depres.depenv - @@ -106,7 +108,9 @@ class RuleConstructor ( object ): if not has_value: kwargs ['allow_wide_match'] = True else: - raise NotImplementedError("wide_match value") + kwargs ['allow_wide_match'] = bool ( + roverlay.strutil.str_to_bool ( value ) + ) elif opt == '*': kwargs ['slot_operator'] = '*' diff --git a/roverlay/strutil.py b/roverlay/strutil.py index 9799477..76949fc 100644 --- a/roverlay/strutil.py +++ b/roverlay/strutil.py @@ -8,6 +8,7 @@ __all__ = [ 'ascii_filter', 'bytes_try_decode', 'fix_ebuild_name', 'pipe_lines', 'shorten_str', 'unquote', 'foreach_str', + 'str_to_bool', ] import re @@ -158,3 +159,19 @@ def foreach_str ( func, _str ): else: return [ func(str(s)) for s in _str ] # --- end of foreach_str (...) --- + +def str_to_bool ( s, empty_return=None, nofail=False ): + if not s: + return empty_return + + slow = s.lower() + + if slow in { 'y', 'yes', '1', 'true', 'enabled', 'on' }: + return True + elif slow in { 'n', 'no', '0', 'false', 'disabled', 'off' }: + return False + elif nofail: + return None + else: + raise ValueError(s) +# --- end of str_to_bool (...) ---