Stop escaping special characters in inbound

At least one of our providers gives us messages with special characters
escaped, ie a newline comes through as `\n`, not a literal newline. We
shouldn’t be showing these backslashes to any of our users.

Python has built in codecs for dealing with encoding/decoding of
strings – see
https://docs.python.org/3/library/codecs.html#text-encodings
for details. Using these builtins is safer than trying to do anything
regex or parsing-based.
This commit is contained in:
Chris Hill-Scott
2017-11-06 12:36:26 +00:00
parent fed4275403
commit f6950ae987
5 changed files with 66 additions and 1 deletions

View File

@@ -133,6 +133,6 @@ def get_sms_thread(service_id, user_number):
def get_sms_content(notification, is_inbound):
return (
notification['content'] if is_inbound else
bytes(notification['content'], "utf-8").decode('unicode_escape') if is_inbound else
notification['template']['content']
)