Validate index level. For single-level Index getting level number is a no-op, but some verification must be done like in MultiIndex.
(self, level)
| 2128 | |
| 2129 | @final |
| 2130 | def _validate_index_level(self, level) -> None: |
| 2131 | """ |
| 2132 | Validate index level. |
| 2133 | |
| 2134 | For single-level Index getting level number is a no-op, but some |
| 2135 | verification must be done like in MultiIndex. |
| 2136 | |
| 2137 | """ |
| 2138 | if isinstance(level, int): |
| 2139 | if level < 0 and level != -1: |
| 2140 | raise IndexError( |
| 2141 | "Too many levels: Index has only 1 level, " |
| 2142 | f"{level} is not a valid level number" |
| 2143 | ) |
| 2144 | if level > 0: |
| 2145 | raise IndexError( |
| 2146 | f"Too many levels: Index has only 1 level, not {level + 1}" |
| 2147 | ) |
| 2148 | elif level != self.name: |
| 2149 | raise KeyError( |
| 2150 | f"Requested level ({level}) does not match index name ({self.name})" |
| 2151 | ) |
| 2152 | |
| 2153 | def _get_level_number(self, level) -> int: |
| 2154 | self._validate_index_level(level) |
no outgoing calls
no test coverage detected