(self, attrs)
| 712 | map[key] = (map[key].decode("utf8", "replace") if isinstance(map[key], six.binary_type) else map[key]) + data |
| 713 | |
| 714 | def do_button(self, attrs): |
| 715 | debug("%s", attrs) |
| 716 | d = {} |
| 717 | d["type"] = "submit" # default |
| 718 | for key, val in attrs: |
| 719 | d[key] = self.unescape_attr_if_required(val) |
| 720 | controls = self._current_form[2] |
| 721 | |
| 722 | type = d["type"] |
| 723 | name = d.get("name") |
| 724 | # we don't want to lose information, so use a type string that |
| 725 | # doesn't clash with INPUT TYPE={SUBMIT,RESET,BUTTON} |
| 726 | # e.g. type for BUTTON/RESET is "resetbutton" |
| 727 | # (type for INPUT/RESET is "reset") |
| 728 | type = type+"button" |
| 729 | self._add_label(d) |
| 730 | controls.append((type, name, d)) |
| 731 | |
| 732 | def do_input(self, attrs): |
| 733 | debug("%s", attrs) |
nothing calls this directly
no test coverage detected