# Buggy code
def _send_growl(self, options, message=None):
    # Initialize Notification
    notice = gntp.core.GNTPNotice(
        app=options["app"],
        name=options["name"],
        title=options["title"],
        password=options["password"],
    )

    # Optional
    if options["sticky"]:
        notice.add_header("Notification-Sticky", options["sticky"])
    if options["priority"]:
        notice.add_header("Notification-Priority", options["priority"])
    if options["icon"]:
        notice.add_header("Notification-Icon", app.LOGO_URL)

    if message:
        notice.add_header("Notification-Text", message)

    response = self._send(
        options["host"], options["port"], notice.encode(), options["debug"]
    )
    return True if isinstance(response, gntp.core.GNTPOK) else False


# Traceback (UnicodeEncodeError)
2018-07-11 00:55:37 DEBUG    TORNADO :: [7e4da69] 296762: Formatting pattern: %SN - %Sx03 - %EN - %QN -> Westworld - 2x03 - Virtù e Fortuna - 1080p WEB-DL
2018-07-11 00:55:37 DEBUG    TORNADO :: [7e4da69] Notification for NMJ scan update not enabled, skipping this notification
2018-07-11 00:55:37 DEBUG    TORNADO :: [7e4da69] Sending a Telegram message for Westworld - 2x03 - Virtù e Fortuna - 1080p WEB-DL
2018-07-11 00:55:37 DEBUG    TORNADO :: [7e4da69] Telegram in use with API KEY: **********
2018-07-11 00:55:37 ERROR    TORNADO :: [7e4da69] API :: ''
Traceback (most recent call last):
File "C:\Medusa\medusa\server\api\v1\core.py", line 141, in get
out_dict = _call_dispatcher(args, kwargs)
File "C:\Medusa\medusa\server\api\v1\core.py", line 211, in call_dispatcher
cur_out_dict = func(cur_args, cur_kwargs).run()  # call function and get response
File "C:\Medusa\medusa\server\api\v1\core.py", line 1309, in run
failed=self.failed, proc_type=self.type
File "C:\Medusa\medusa\process_tv.py", line 145, in process
ignore_subs=ignore_subs)
File "C:\Medusa\medusa\process_tv.py", line 333, in process_files
self.process_media(path, self.video_files, force, is_priority, ignore_subs)
File "C:\Medusa\medusa\process_tv.py", line 554, in process_media
self.result = processor.process()
File "C:\Medusa\medusa\post_processor.py", line 1279, in process
notifiers.notify_download(ep_obj._format_pattern('%SN - %Sx%0E - %EN - %QN'))
File "C:\Medusa\medusa\notifiers\__init__.py", line 92, in notify_download
n.notify_download(ep_name)
File "C:\Medusa\medusa\notifiers\telegram.py", line 111, in notify_download
self._notify_telegram(title, ep_name)
File "C:\Medusa\medusa\notifiers\telegram.py", line 165, in _notify_telegram
return self._send_telegram_msg(title, message, user_id, api_key)
File "C:\Medusa\medusa\notifiers\telegram.py", line 62, in _send_telegram_msg
message = '%s : %s' % (title.encode(), msg.encode())
File "C:\Python27\lib\encodings\cp1255.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode character u'\xf9' in position 23: character maps to <undefined>

# Fixed code
def _send_growl(self, options, message=None):
    # Initialize Notification
    notice = gntp.core.GNTPNotice(
        app=options["app"],
        name=options["name"],
        title=options["title"],
        password=options["password"],
    )

    # Optional
    if options["sticky"]:
        notice.add_header("Notification-Sticky", options["sticky"])
    if options["priority"]:
        notice.add_header("Notification-Priority", options["priority"])
    if options["icon"]:
        notice.add_header("Notification-Icon", app.LOGO_URL)

    if message:
        notice.add_header("Notification-Text", message)

    response = self._send(
        options["host"], options["port"], notice.encode("utf-8"), options["debug"]
    )
    return True if isinstance(response, gntp.core.GNTPOK) else False