File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed
Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change 88
99from __future__ import annotations
1010
11- import itertools
11+ import sys
1212import typing
1313from dataclasses import dataclass
1414
5151 "ExponentParams" ,
5252]
5353
54+ if sys .version_info >= (3 , 12 ):
55+ from itertools import batched
56+ else :
57+ from itertools import islice
58+
59+ T = typing .TypeVar ("T" )
60+
61+ def batched (iterable : typing .Iterable [T ], n : int ) -> typing .Iterator [tuple [T , ...]]:
62+ if n < 1 :
63+ err = "n must be at least one"
64+ raise ValueError (err )
65+ it = iter (iterable )
66+ while batch := tuple (islice (it , n )):
67+ yield batch
68+
5469
5570@dataclass
5671class Array (XMLParsable , XMLWritable ):
@@ -142,8 +157,7 @@ def to_xml(self) -> lxml.etree._Element:
142157 else :
143158 row_length = self .dim [- 1 ]
144159 text = "\n " .join (
145- " " .join (map (str , row ))
146- for row in itertools .batched (self .values , row_length )
160+ " " .join (map (str , row )) for row in batched (self .values , row_length )
147161 )
148162 xml .text = text
149163 return xml
You can’t perform that action at this time.
0 commit comments