Issue #6620: Slightly safer code for _grouping_intervals in the locale
module. Fixes a 'possible use before assignment' warning from pylint.
Thanks Vincent Legoll.
diff --git a/Lib/locale.py b/Lib/locale.py
index 879725f..f073399 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -114,12 +114,15 @@
# Iterate over grouping intervals
def _grouping_intervals(grouping):
+ last_interval = None
for interval in grouping:
# if grouping is -1, we are done
if interval == CHAR_MAX:
return
# 0: re-use last group ad infinitum
if interval == 0:
+ if last_interval is None:
+ raise ValueError("invalid grouping")
while True:
yield last_interval
yield interval