From 8fd5d9fb66e76a2d2baa9cba481bdca53ced2d46 Mon Sep 17 00:00:00 2001 From: Cacahuete Date: Sun, 27 Dec 2020 11:05:20 +0100 Subject: [PATCH] =?UTF-8?q?parse=5Franges:=20Added=20QT's=20version=20?= =?UTF-8?q?=E2=99=A5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parse_ranges/parse_ranges.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/parse_ranges/parse_ranges.py b/parse_ranges/parse_ranges.py index 447d4a5..306baab 100644 --- a/parse_ranges/parse_ranges.py +++ b/parse_ranges/parse_ranges.py @@ -92,4 +92,16 @@ def parse_ranges_v5(range_string): # à utiliser avec modération car la lisibilité compte ! -parse_ranges = parse_ranges_v5 +def parse_ranges_v6(range_string): + """Après échanges avec QT : compact et lisible ! ♥""" + ranges = range_string.replace("->", "-") + + for subrange in ranges.split(","): + begin, _, end = subrange.partition("-") + if end.isdecimal(): + yield from range(int(begin), int(end) + 1) + else: + yield int(begin) + + +parse_ranges = parse_ranges_v6