コード例 #1
0
ファイル: models.py プロジェクト: haugvald/baruwa
 def clean(self):
     "sanitize inputs"
     if self.signature_type == 1:
         self.signature_content = strip_tags(self.signature_content)
     else:
         cleaner = SignatureCleaner(remove_tags=UNCLEANTAGS, safe_attrs_only=False)
         self.signature_content = cleaner.clean_html(self.signature_content)
コード例 #2
0
def write_html_sig(sigfile, sig, basedir, is_domain, logger):
    "write html sig"
    cleaner = SignatureCleaner(style=True, remove_tags=UNCLEANTAGS,
                                safe_attrs_only=False)
    html = cleaner.clean_html(sig.signature_content)
    html = fragments_fromstring(html)[0]
    for element, attribute, link, pos in iterlinks(html):
        if link.startswith('/settings/imgs/'):
            view, args, kwargs = resolve(link)
            view = None
            args = None
            img = SignatureImg.objects.get(pk=kwargs['img_id'])
            if is_domain:
                imgfile = '%s/domains/imgs/%s' % (basedir, img.name)
            else:
                imgfile = '%s/users/imgs/%s' % (basedir, img.name)
            element.attrib['src'] = 'cid:%s' % img.name
            imghandle = open(imgfile, 'wb')
            imghandle.write(base64.decodestring(img.image))
            imghandle.close()
            logger.info(_("Wrote img: %(img)s") % dict(img=imgfile))
            # update the sig with image obtained
            sig.image = img
    if 'link' in locals():
        sig.save()
    sighandle = open(sigfile, 'w')
    if not sig.signature_content.startswith('--'):
        sighandle.write('<br/>--<br/>')
    sighandle.write(tostring(html))
    logger.info(_("Wrote html signature: %(sig)s") % dict(sig=sigfile))
コード例 #3
0
ファイル: tasks.py プロジェクト: heartshare/baruwa
def write_html_sig(sigfile, sig, basedir, is_domain, logger):
    "write html sig"
    cleaner = SignatureCleaner(style=True, remove_tags=UNCLEANTAGS,
                                safe_attrs_only=False)
    html = cleaner.clean_html(sig.signature_content)
    html = fragments_fromstring(html)[0]
    for element, attribute, link, pos in iterlinks(html):
        if link.startswith('/settings/imgs/'):
            view, args, kwargs = resolve(link)
            view = None
            args = None
            img = SignatureImg.objects.get(pk=kwargs['img_id'])
            if is_domain:
                imgfile = '%s/domains/imgs/%s' % (basedir, img.name)
            else:
                imgfile = '%s/users/imgs/%s' % (basedir, img.name)
            element.attrib['src'] = 'cid:%s' % img.name
            imghandle = open(imgfile, 'wb')
            imghandle.write(base64.decodestring(img.image))
            imghandle.close()
            logger.info(_("Wrote img: %(img)s") % dict(img=imgfile))
            # update the sig with image obtained
            sig.image = img
    if 'link' in locals():
        sig.save()
    sighandle = open(sigfile, 'w')
    if not sig.signature_content.startswith('--'):
        sighandle.write('<br/>--<br/>')
    sighandle.write(tostring(html))
    logger.info(_("Wrote html signature: %(sig)s") % dict(sig=sigfile))
コード例 #4
0
 def clean(self):
     "sanitize inputs"
     if self.signature_type == 1:
         self.signature_content = strip_tags(self.signature_content)
     else:
         cleaner = SignatureCleaner(remove_tags=UNCLEANTAGS,
                                    safe_attrs_only=False)
         self.signature_content = cleaner.clean_html(self.signature_content)