コード例 #1
0
ファイル: util.py プロジェクト: clld/glottolog3
def format_iso_retirement(req, lang):
    ir = lang.iso_retirement
    _md, comment = [], ''
    if ir.description:
        comment = HTML.div(
            HTML.p(HTML.strong("Excerpt from change request document:")),
            HTML.blockquote(md(req, ir.description, small=True)))

    if ir.change_request:
        _md.append((
            'Change request:',
            link(
                req,
                Refprovider.get('iso6393:{0}'.format(ir.change_request)).ref,
                label=ir.change_request)))
    _md.append(('ISO 639-3:', ir.id))
    _md.append(('Name:', ir.name))
    if ir.reason:
        _md.append(('Reason:', ir.reason))
    _md.append(('Effective:', ir.effective))

    return infobox(
        HTML.p(
            HTML.strong("Retired in ISO 639-3: "),
            linkify_iso_codes(req, ir.remedy, class_='iso639-3')),
        HTML.ul(*[HTML.li(HTML.strong(dt), Markup(' '), dd) for dt, dd in _md], **{'class': 'inline'}),
        comment)
コード例 #2
0
def format_iso_retirement(req, lang):
    ir = lang.jsondata['iso_retirement']
    _md, comment = [], ''
    if ir['comment']:
        comment = HTML.div(
            HTML.p(HTML.strong("Excerpt from change request document:")),
            HTML.blockquote(md(req, ir['comment'], small=True)))

    if ir['change_request']:
        _md.append(('Change request:',
                    link(req,
                         Refprovider.get('iso6393:{0}'.format(
                             ir['change_request'])).ref,
                         label=ir['change_request'])))
    _md.append(('ISO 639-3:', ir['code']))
    _md.append(('Name:', ir['name']))
    if ir['reason']:
        _md.append(('Reason:', ir['reason']))
    _md.append(('Effective:', ir['effective']))

    return infobox(
        HTML.p(HTML.strong("Retired in ISO 639-3: "),
               linkify_iso_codes(req, ir['remedy'], class_='iso639-3')),
        HTML.ul(
            *[
                HTML.li(HTML.strong(dt), Markup(' '), dd)
                for dt, dd in _md
            ], **{'class': 'inline'}), comment)
コード例 #3
0
def cobl_linked_references(req, obj, comments=False):
    chunks = []
    if comments:
        for i, ref in enumerate(
                sorted(getattr(obj, 'references', []),
                       key=lambda x: x.source.name or '')):
            if ref.source:
                r = ''
                r += HTML.span(link(req, ref.source), class_='citation')
                d = None
                if ref.description:
                    d = ref.description.split('{')
                    if len(d) == 1:
                        r += HTML.span(": {}".format(d[0] if d[0] else ''),
                                       class_='pages')
                    else:
                        r += HTML.span(": {}".format(d[0] if d[0] else ''),
                                       class_='pages')
                        if d[1]:
                            r += HTML.blockquote(d[1][:-1])
                chunks.append(HTML.li(r))
        if chunks:
            return HTML.span(*chunks)
    else:
        for i, ref in enumerate(
                sorted(getattr(obj, 'references', []),
                       key=lambda x: x.source.name or '')):
            if ref.source:
                if i > 0:
                    chunks.append('; ')
                d = ref.description.split('{')[0] if ref.description else None
                chunks.append(
                    HTML.span(
                        link(req, ref.source),
                        HTML.span(': {}'.format(d) if d else '',
                                  class_='pages'),
                        class_='citation',
                    ))
        if chunks:
            return HTML.span(*chunks)
    return ''