(self, ctxt, fields, count, title)
| 642 | log_error(traceback.format_exc()) |
| 643 | |
| 644 | def _get_form_input(self, ctxt, fields, count, title): |
| 645 | try: |
| 646 | field_objs = [] |
| 647 | for i in range(0, count): |
| 648 | if fields[i].type == FormInputFieldType.LabelFormField: |
| 649 | field_objs.append(LabelField(fields[i].prompt)) |
| 650 | elif fields[i].type == FormInputFieldType.SeparatorFormField: |
| 651 | field_objs.append(SeparatorField()) |
| 652 | elif fields[i].type == FormInputFieldType.TextLineFormField: |
| 653 | field_objs.append( |
| 654 | TextLineField( |
| 655 | fields[i].prompt, default=fields[i].stringDefault if fields[i].hasDefault else None |
| 656 | ) |
| 657 | ) |
| 658 | elif fields[i].type == FormInputFieldType.MultilineTextFormField: |
| 659 | field_objs.append( |
| 660 | MultilineTextField( |
| 661 | fields[i].prompt, default=fields[i].stringDefault if fields[i].hasDefault else None |
| 662 | ) |
| 663 | ) |
| 664 | elif fields[i].type == FormInputFieldType.IntegerFormField: |
| 665 | field_objs.append( |
| 666 | IntegerField(fields[i].prompt, default=fields[i].intDefault if fields[i].hasDefault else None) |
| 667 | ) |
| 668 | elif fields[i].type == FormInputFieldType.AddressFormField: |
| 669 | view = None |
| 670 | if fields[i].view: |
| 671 | view = binaryview.BinaryView(handle=core.BNNewViewReference(fields[i].view)) |
| 672 | field_objs.append( |
| 673 | AddressField( |
| 674 | fields[i].prompt, view, fields[i].currentAddress, |
| 675 | default=fields[i].addressDefault if fields[i].hasDefault else None |
| 676 | ) |
| 677 | ) |
| 678 | elif fields[i].type == FormInputFieldType.ChoiceFormField: |
| 679 | choices = [] |
| 680 | for j in range(0, fields[i].count): |
| 681 | choices.append(fields[i].choices[j]) |
| 682 | field_objs.append( |
| 683 | ChoiceField( |
| 684 | fields[i].prompt, choices, default=fields[i].choiceDefault if fields[i].hasDefault else None |
| 685 | ) |
| 686 | ) |
| 687 | elif fields[i].type == FormInputFieldType.OpenFileNameFormField: |
| 688 | field_objs.append( |
| 689 | OpenFileNameField( |
| 690 | fields[i].prompt, fields[i].ext, |
| 691 | default=fields[i].stringDefault if fields[i].hasDefault else None |
| 692 | ) |
| 693 | ) |
| 694 | elif fields[i].type == FormInputFieldType.SaveFileNameFormField: |
| 695 | field_objs.append( |
| 696 | SaveFileNameField( |
| 697 | fields[i].prompt, fields[i].ext, fields[i].defaultName, |
| 698 | default=fields[i].stringDefault if fields[i].hasDefault else None |
| 699 | ) |
| 700 | ) |
| 701 | elif fields[i].type == FormInputFieldType.DirectoryNameFormField: |
nothing calls this directly
no test coverage detected