| 510 | return ret |
| 511 | |
| 512 | def get_dictionary(self, var, fmt={}): |
| 513 | l = len(var) |
| 514 | d = {} |
| 515 | |
| 516 | format_str = "%0" + str(int(len(str(l - 1)))) + "d" |
| 517 | if fmt is not None and fmt.get("hex", False): |
| 518 | format_str = "0x%0" + str(int(len(hex(l).lstrip("0x")))) + "x" |
| 519 | |
| 520 | initial_expanded = pydevd_constants.PYDEVD_CONTAINER_INITIAL_EXPANDED_ITEMS |
| 521 | for i, item in enumerate(var): |
| 522 | d[format_str % i] = item |
| 523 | |
| 524 | if i >= initial_expanded - 1: |
| 525 | item = MoreItems(var, initial_expanded) |
| 526 | d["more"] = item |
| 527 | break |
| 528 | |
| 529 | # in case if the class extends built-in type and has some additional fields |
| 530 | additional_fields = defaultResolver.get_dictionary(var) |
| 531 | d.update(additional_fields) |
| 532 | d[GENERATED_LEN_ATTR_NAME] = len(var) |
| 533 | return d |
| 534 | |
| 535 | |
| 536 | # ======================================================================================================================= |