(
self,
codes,
*,
level=None,
copy: bool = False,
validate: bool = True,
verify_integrity: bool = False,
)
| 1128 | return self._codes |
| 1129 | |
| 1130 | def _set_codes( |
| 1131 | self, |
| 1132 | codes, |
| 1133 | *, |
| 1134 | level=None, |
| 1135 | copy: bool = False, |
| 1136 | validate: bool = True, |
| 1137 | verify_integrity: bool = False, |
| 1138 | ) -> None: |
| 1139 | if validate: |
| 1140 | if level is None and len(codes) != self.nlevels: |
| 1141 | raise ValueError("Length of codes must match number of levels") |
| 1142 | if level is not None and len(codes) != len(level): |
| 1143 | raise ValueError("Length of codes must match length of levels.") |
| 1144 | |
| 1145 | level_numbers: list[int] | range |
| 1146 | if level is None: |
| 1147 | new_codes = FrozenList( |
| 1148 | _coerce_indexer_frozen(level_codes, lev, copy=copy).view() |
| 1149 | for lev, level_codes in zip(self._levels, codes, strict=True) |
| 1150 | ) |
| 1151 | level_numbers = range(len(new_codes)) |
| 1152 | else: |
| 1153 | level_numbers = [self._get_level_number(lev) for lev in level] |
| 1154 | new_codes_list = list(self._codes) |
| 1155 | for lev_num, level_codes in zip(level_numbers, codes, strict=True): |
| 1156 | lev = self.levels[lev_num] |
| 1157 | new_codes_list[lev_num] = _coerce_indexer_frozen( |
| 1158 | level_codes, lev, copy=copy |
| 1159 | ) |
| 1160 | new_codes = FrozenList(new_codes_list) |
| 1161 | |
| 1162 | if verify_integrity: |
| 1163 | new_codes = self._verify_integrity( |
| 1164 | codes=new_codes, levels_to_verify=level_numbers |
| 1165 | ) |
| 1166 | |
| 1167 | self._codes = new_codes |
| 1168 | |
| 1169 | self._reset_cache() |
| 1170 | |
| 1171 | def set_codes( |
| 1172 | self, codes, *, level=None, verify_integrity: bool = True |
no test coverage detected