| 81 | |
| 82 | |
| 83 | class SetGen(Gen[_T]): |
| 84 | def __init__(self, values, _iterpacket=1): |
| 85 | # type: (Any, int) -> None |
| 86 | self._iterpacket = _iterpacket |
| 87 | if isinstance(values, (list, BasePacketList)): |
| 88 | self.values = [_get_values(val) for val in values] |
| 89 | else: |
| 90 | self.values = [_get_values(values)] |
| 91 | |
| 92 | def __iter__(self): |
| 93 | # type: () -> Iterator[Any] |
| 94 | for i in self.values: |
| 95 | if (isinstance(i, Gen) and |
| 96 | (self._iterpacket or not isinstance(i, BasePacket))) or ( |
| 97 | isinstance(i, (range, types.GeneratorType))): |
| 98 | for j in i: |
| 99 | yield j |
| 100 | else: |
| 101 | yield i |
| 102 | |
| 103 | def __len__(self): |
| 104 | # type: () -> int |
| 105 | return self.__iterlen__() |
| 106 | |
| 107 | def __repr__(self): |
| 108 | # type: () -> str |
| 109 | return "<SetGen %r>" % self.values |
| 110 | |
| 111 | |
| 112 | class _ScopedIP(str): |
no outgoing calls
no test coverage detected