1
0
Fork 0
mirror of https://github.com/vbatts/flaming-happiness.git synced 2024-11-23 17:15:40 +00:00

catch encoding error in plugin

This commit is contained in:
Vincent Batts 2014-01-17 16:31:30 -05:00
parent 87d3ae96d7
commit c54dd0d43b

View file

@ -243,6 +243,12 @@ class ZMQNotify
tags = tags.split( ',' ) tags = tags.split( ',' )
return WEECHAT_RC_OK unless ( ignored & tags ).empty? return WEECHAT_RC_OK unless ( ignored & tags ).empty?
message = if message.respond_to?(:encode)
message.encode('UTF-8', invalid: :replace, undef: :replace)
else
message
end
notify = { notify = {
:highlight => ! highlight.to_i.zero?, :highlight => ! highlight.to_i.zero?,
:type => data[ :type ], :type => data[ :type ],
@ -258,7 +264,11 @@ class ZMQNotify
# #
self.print_info "Message notification: %p" % [ notify ] if DEBUG self.print_info "Message notification: %p" % [ notify ] if DEBUG
if self.use_json.true? if self.use_json.true?
self.zmq.send( notify.to_json ) begin
self.zmq.send( notify.to_json )
rescue Encoding::UndefinedConversionError => ex
self.print_info "Failed encoding msg to JSON [#{notify.inspect}]"
end
else else
self.zmq.send( notify.to_yaml ) self.zmq.send( notify.to_yaml )
end end