/
sitelogo.py
27 lines (22 loc) · 965 Bytes
/
sitelogo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# -*- coding: utf-8 -*-
from Products.CMFPlone.interfaces import ISiteSchema
from plone.formwidget.namedfile.converter import b64decode_file
from plone.namedfile.browser import Download
from plone.namedfile.file import NamedImage
from plone.registry.interfaces import IRegistry
from zope.component import getUtility
class SiteLogo(Download):
def __init__(self, context, request):
super(SiteLogo, self).__init__(context, request)
self.filename = None
self.data = None
registry = getUtility(IRegistry)
settings = registry.forInterface(ISiteSchema, prefix="plone")
if getattr(settings, 'site_logo', False):
filename, data = b64decode_file(settings.site_logo)
data = NamedImage(data=data, filename=filename)
self.data = data
self.filename = filename
# self.width, self.height = self.data.getImageSize()
def _getFile(self):
return self.data