| 2647 | |
| 2648 | |
| 2649 | class CharEnumField(EnumField[str]): |
| 2650 | def __init__(self, |
| 2651 | name, # type: str |
| 2652 | default, # type: str |
| 2653 | enum, # type: _EnumType[str] |
| 2654 | fmt="1s", # type: str |
| 2655 | ): |
| 2656 | # type: (...) -> None |
| 2657 | super(CharEnumField, self).__init__(name, default, enum, fmt) |
| 2658 | if self.i2s is not None: |
| 2659 | k = list(self.i2s) |
| 2660 | if k and len(k[0]) != 1: |
| 2661 | self.i2s, self.s2i = self.s2i, self.i2s |
| 2662 | |
| 2663 | def any2i_one(self, pkt, x): |
| 2664 | # type: (Optional[Packet], str) -> str |
| 2665 | if len(x) != 1: |
| 2666 | if self.s2i: |
| 2667 | x = self.s2i[x] |
| 2668 | elif self.s2i_cb: |
| 2669 | x = self.s2i_cb(x) |
| 2670 | return x |
| 2671 | |
| 2672 | |
| 2673 | class BitEnumField(_BitField[Union[List[int], int]], _EnumField[int]): |
no outgoing calls
no test coverage detected
searching dependent graphs…