Ignore:
Timestamp:
14 Dec 2014, 15:45:55 (10 years ago)
Author:
Henrik Bettermann
Message:

We do not need the HTMLDisplayWidget. Use simple helper function instead. Tests will follow.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.ikoba/trunk/src/waeup/ikoba/utils/helpers.py

    r11949 r12229  
    3939from zope.security.management import getInteraction
    4040from zope.pluggableauth.interfaces import IAuthenticatorPlugin
     41from zope.formlib.widget import renderElement
    4142
    4243BUFSIZE = 8 * 1024
     
    804805        result[key] = value
    805806    return result
     807
     808
     809def html2dict(value=None,portal_language='en'):
     810    """Transforms a localized HTML text string into a dictionary.
     811
     812    Different languages must be separated by `>>xy<<` whereas
     813    xy is the language code. Text parts without correct leading
     814    language separator - usually the first part has no language
     815    descriptor - are interpreted as texts in the portal's language.
     816    The latter can be configured in waeup.srp.utils.utils.IkobaUtils.
     817    """
     818    try:
     819        parts = value.split('>>')
     820    except:
     821        return {}
     822    elements = {}
     823    lang = portal_language
     824    for part in parts:
     825        if part[2:4] == u'<<':
     826            lang = part[0:2].lower()
     827            text = part[4:]
     828            elements[lang] = renderElement(u'div id="html"',
     829                contents=text)
     830        else:
     831            text = part
     832            elements[lang] = renderElement(u'div id="html"',
     833                contents=text)
     834    return elements
Note: See TracChangeset for help on using the changeset viewer.