Software /
code /
prosody-modules
Diff
mod_pep_vcard_png_avatar/mod_pep_vcard_png_avatar.lua @ 2496:e6a3bdbce7b9
mod_pep_vcard_png_avatar: Move to dwebp, handle errors on opening file_png.
author | Michel Le Bihan <michel@lebihan.pl> |
---|---|
date | Mon, 13 Feb 2017 21:50:53 +0100 |
parent | 2217:7be1ca7a51a4 |
child | 3222:c22b6283d226 |
line wrap: on
line diff
--- a/mod_pep_vcard_png_avatar/mod_pep_vcard_png_avatar.lua Sun Feb 12 21:24:08 2017 +0100 +++ b/mod_pep_vcard_png_avatar/mod_pep_vcard_png_avatar.lua Mon Feb 13 21:50:53 2017 +0100 @@ -118,10 +118,14 @@ local file_webp = io.open("/tmp/Prosody_temp_avatar.webp", "w"); file_webp:write(base64.decode(pep_photo:get_child_text("data", "urn:xmpp:avatar:data"))); file_webp:close(); - os.execute("convert /tmp/Prosody_temp_avatar.webp /tmp/Prosody_temp_avatar.png"); + os.execute("dwebp /tmp/Prosody_temp_avatar.webp -o /tmp/Prosody_temp_avatar.png"); local file_png = io.open("/tmp/Prosody_temp_avatar.png", "r"); - image=base64.encode(file_png:read("*a")); - file_png:close(); + if file_png ~= nil then + image=base64.encode(file_png:read("*a")); + file_png:close(); + else + module:log("error", "Couldn't access /tmp/Prosody_temp_avatar.png. Are you sure that /tmp is readable and writable and that Prosody can execute the dwebp command?"); + end os.remove("/tmp/Prosody_temp_avatar.webp"); os.remove("/tmp/Prosody_temp_avatar.png"); end