Нет, ну можно, конечно… Про favicon.ico в vCard для RSS

В коде RSS-транспорта была идея поначалу использовать favicon.ico с сайта, откуда берется лента и отдавать его в качестве фото в vCard. Вообще в XMPP есть возможность указывать в фото ссылку на внешний ресурс. Одна проблема – это нигде (ну, как минимум, в популярных клиентах, что я пробовал) не реализовано. В общем, забил и просто отдаю RSS-лого, которое сохранено напрямую в коде скрипта в base64.

Только что ради смеха набросал код для обходного пути:

import urllib2
import urlparse
from PIL import Image
import io
import base64
 
url='https://www.linux.org.ru/bla-bla-bla'
 
imgtmp = io.BytesIO()
 
favicon = urlparse.urlparse(url)[0]+"://"+urlparse.urlparse(url)[1]+"/favicon.ico"
fp = urllib2.Request(favicon)
mybytes = urllib2.urlopen(fp)
 
png = Image.open(mybytes)
png.save(imgtmp, format="PNG")
 
mybaseimg = base64.b64encode(imgtmp.getvalue())
 
print(mybaseimg)

Нет, использовать не буду – сильно жирно тащить в код лишние несколько библиотек ради таких украшательств. Но потенциально – возможно :). Надо только добавить еще обработку ошибок при получении favicon.ico и фоллбэк на обычное лого.

Update: проверил только что. Да, примерно так и хотелось:

Одна мысль про “Нет, ну можно, конечно… Про favicon.ico в vCard для RSS”

Добавить комментарий