Maybe you should make it more DRY (by reusing `force_text(data, encoding, errors='replace')`). Later someone may actually forget to change it in two places. Or you think `handler.variable_complete` and `self._post.appendlist` should stay as you proposed?