Exemple #1
0
 def __init__(self, dt, name, **kw):
     self.subtype = kw.pop('subtype', name)
     kw['sDescription'] = {
         'mp4': external_link('https://en.wikipedia.org/wiki/MPEG-4'),
         'quicktime': external_link('https://en.wikipedia.org/wiki/QuickTime'),
         'x-msvideo': external_link('https://en.wikipedia.org/wiki/Audio_Video_Interleave'),
     }[self.subtype]
     kw['sTitle'] = name.upper()
     Col.__init__(self, dt, name, **kw)
Exemple #2
0
def link(req, id=None, obj_type='ConceptSet', label=None):
    akw = dict(
        title='Concepticon' if id is None else 'View {0} at Concepticon'.format(obj_type),
        href=url(id=id, obj_type=obj_type))
    if label:
        return external_link(None, label=label, **akw)
    return HTML.a(logo(req), **akw)
Exemple #3
0
def wals_detail_html(context=None, request=None, **kw):
    wals_data = Path(apics.__file__).parent.joinpath(
        'static', 'wals', '%sA.json' % context.parameter.wals_id)
    if not wals_data.exists():
        raise HTTPNotFound()

    wals_data = jsonlib.load(wals_data)
    value_map = {}

    for layer in wals_data['layers']:
        for feature in layer['features']:
            feature['properties']['icon'] = request.registry.getUtility(
                IIcon, name=feature['properties']['icon']).url(request)
            feature['properties']['popup'] = external_link(
                'http://wals.info/languoid/lect/wals_code_'
                + feature['properties']['language']['id'],
                label=feature['properties']['language']['name'])
        value_map[layer['properties']['number']] = {
            'icon': layer['features'][0]['properties']['icon'],
            'name': layer['properties']['name'],
            'number': layer['properties']['number'],
        }

    return {
        'wals_data': wals_data,
        'wals_map': WalsMap(
            context.parameter, request, data=wals_data, value_map=value_map),
        'apics_map': ApicsWalsMap(
            context.parameter, request, data=wals_data, value_map=value_map)}
 def format(self, concept):
     if concept.concepticon_class:
         href = 'http://concepticon.clld.org/parameters/{}'.format(
             concept.concepticon_class)
         return external_link(href, concept.concepticon_class)
     else:
         return ''
Exemple #5
0
def wals(req):
    ctx = DBSession.query(Parameter).filter(Parameter.id == req.matchdict['id']).one()

    with open(
        path(apics.__file__).dirname().joinpath(
            'static', 'wals', '%sA.json' % ctx.wals_id), 'r'
    ) as fp:
        data = json.load(fp)

    value_map = {}

    for layer in data['layers']:
        for feature in layer['features']:
            feature['properties']['icon'] = req.registry.getUtility(
                IIcon, name=feature['properties']['icon']).url(req)
            feature['properties']['popup'] = external_link(
                'http://wals.info/languoid/lect/wals_code_' + feature['properties']['language']['id'],
                label=feature['properties']['language']['name'])
        value_map[layer['properties']['number']] = {
            'icon': layer['features'][0]['properties']['icon'],
            'name': layer['properties']['name'],
            'number': layer['properties']['number'],
        }

    return {
        'ctx': ctx,
        'wals_data': data,
        'wals_map': WalsMap(ctx, req, data=data, value_map=value_map),
        'apics_map': ApicsWalsMap(ctx, req, data=data, value_map=value_map)}
Exemple #6
0
 def format(self, item):
     if item.glottocode:
         return external_link(url=url(item.glottocode),
                              label=item.glottocode,
                              title="View languoid {0} at Glottolog".format(
                                  item.glottocode),
                              target="_new")
     else:
         return ""
Exemple #7
0
def render_metadata(ctx):
    rows = []
    for provider, md in groupby(ctx.meta, lambda m: m.metaprovider):
        rows.append(HTML.tr(
            HTML.th(external_link(provider.url, label=provider.name), colspan='2')))
        for meta in md:
            key, value = render_kv(meta)
            rows.append(HTML.tr(HTML.td(key), HTML.td(value)))
    return HTML.table(HTML.tbody(*rows), class_='table table-condensed')
Exemple #8
0
    def name_link(self):
        if self.url == "na":
            return self.name
        else:
            return external_link(self.url, label=self.name)


#@implementer(ILinkingAudio)
#class LinkingAudio(Base, IdNameDescriptionMixin):
#    pass
Exemple #9
0
 def git_link(self):
     if self.git_repo:
         match = re.search(r'github\.com/([^/]*)/([^/]*)', self.git_repo)
         if match:
             label = 'Github: %s/%s' % match.groups()
         else:
             label = 'Git: {}'.format(self.git_repo)
         return external_link(self.git_repo, label=label)
     else:
         return ''
Exemple #10
0
 def col_defs(self):
     res = Languages.col_defs(self)
     return res[1:2] + [
         Col(self,
             'glottocode',
             model_col=Languoid.glottocode,
             format=lambda i: '' if not i.glottocode else external_link(
                 glottolog_url(i.glottocode), i.glottocode)),
         LineageCol(self, 'lineage'),
         EditorsCol(self, 'editors'),
     ] + res[2:]
Exemple #11
0
def render_metadata(ctx):
    rows = []
    for provider, md in groupby(ctx.meta, lambda m: m.metaprovider):
        rows.append(
            HTML.tr(
                HTML.th(external_link(provider.url, label=provider.name),
                        colspan='2')))
        for meta in md:
            key, value = render_kv(meta)
            rows.append(HTML.tr(HTML.td(key), HTML.td(value)))
    return HTML.table(HTML.tbody(*rows), class_='table table-condensed')
Exemple #12
0
 def col_defs(self):
     res = Languages.col_defs(self)
     return res[1:2] + [
         Col(self,
             'glottocode',
             model_col=Languoid.glottocode,
             format=lambda i: '' if not i.glottocode
             else external_link(glottolog_url(i.glottocode), i.glottocode)),
         LineageCol(self, 'lineage'),
         EditorsCol(self, 'editors'),
     ] + res[2:]
Exemple #13
0
 def col_defs(self):
     return [
         IdCol(self, 'id', sTitle='Code'),
         LinkCol(self, 'name'),
         BiomeCol(self, 'category'),
         Col(self, 'status',
             sDescription=Ecoregion.gbl_stat.doc,
             model_col=Ecoregion.gbl_stat,
             choices=get_distinct_values(Ecoregion.gbl_stat)),
         LinkToMapCol(self, 'm', sTitle=''),
         Col(self, 'w', sTitle='', format=lambda i: external_link(i.wwf_url(), 'WWF'))
     ]
Exemple #14
0
 def format(self, item):
     lis = []
     if item.source:
         s = item.source
         if s.startswith('http://'):
             label = s
             for t in 'wikimedia wikipedia plantzafrica'.split():
                 if t in s:
                     label = t
                     break
             lis.append(external_link(s, label))
     lis.append(linked_references(self.dt.req, item))
     return HTML.ul(*lis, class_='unstyled')
Exemple #15
0
 def format(self, item):
     lis = []
     if item.source:
         s = item.source
         if s.startswith('http://'):
             label = s
             for t in 'wikimedia wikipedia plantzafrica'.split():
                 if t in s:
                     label = t
                     break
             lis.append(external_link(s, label))
     lis.append(linked_references(self.dt.req, item))
     return HTML.ul(*lis, class_='unstyled')
Exemple #16
0
def markup_feature_desc(req, desc):
    for pattern, repl in [
        ('WALS feature number:\s*(?P<id>[0-9]+)\s*\[http://wals\.info\]',
         lambda match: external_link(
            'http://wals.info/feature/%sA' % match.group('id'),
            label='WALS feature number %sA' % match.group('id'))),
        ('Constenla feature number:\s*(?P<id>[a-z0-9]+)\s*\[[^\]]+\]',
         lambda match: link(
            req,
            Source.get('hvtypconstenlaintermedia'),
            label='Constenla feature number: ' + match.group('id')))]:
        desc = re.sub(pattern, repl, desc)

    return desc
Exemple #17
0
def markup_feature_desc(req, desc):
    for pattern, repl in [
        ('WALS feature number:\s*(?P<id>[0-9]+)\s*\[http://wals\.info\]',
         lambda match: external_link(
             'http://wals.info/feature/%sA' % match.group('id'),
             label='WALS feature number %sA' % match.group('id'))),
        ('Constenla feature number:\s*(?P<id>[a-z0-9]+)\s*\[[^\]]+\]', lambda
         match: link(req,
                     Source.get('hvtypconstenlaintermedia'),
                     label='Constenla feature number: ' + match.group('id')))
    ]:
        desc = re.sub(pattern, repl, desc)

    return desc
Exemple #18
0
 def col_defs(self):
     return [
         IdCol(self, 'id', sTitle='Code'),
         LinkCol(self, 'name'),
         BiomeCol(self, 'category'),
         Col(self,
             'status',
             sDescription=Ecoregion.gbl_stat.doc,
             model_col=Ecoregion.gbl_stat,
             choices=get_distinct_values(Ecoregion.gbl_stat)),
         LinkToMapCol(self, 'm', sTitle=''),
         Col(self,
             'w',
             sTitle='',
             format=lambda i: external_link(i.wwf_url(), 'WWF'))
     ]
Exemple #19
0
Fichier : util.py Projet : clld/ldh
def file_link(file):
    url = file.jsondata.get('url', 'http://hdl.handle.net/' + file.id.replace('__', '/'))
    suffix = pathlib.Path(url.split('/')[-1]).suffix
    content = [
        HTML.a(
            icon('file'),
            '{} ({})'.format(
                suffix[1:].upper() if suffix else 'PDF', format_size(file.jsondata['size'])),
            href=url,
        )]
    license = file.jsondata['license']
    if license:
        content.append(' licensed under ')
        content.append(external_link(
            license['url'], label=license['id'].upper(), title=license['name']))
    return HTML.span(*content)
Exemple #20
0
def wals_detail_html(context=None, request=None, **kw):
    wals_data = Path(apics.__file__).parent.joinpath(
        'static', 'wals', '%sA.json' % context.parameter.wals_id)
    if not wals_data.exists():
        raise HTTPNotFound()

    wals_data = jsonlib.load(wals_data)
    value_map = {}

    for layer in wals_data['layers']:
        for feature in layer['features']:
            feature['properties']['icon'] = request.registry.getUtility(
                IIcon, name=feature['properties']['icon']).url(request)
            feature['properties']['popup'] = external_link(
                'http://wals.info/languoid/lect/wals_code_' +
                feature['properties']['language']['id'],
                label=feature['properties']['language']['name'])
        value_map[layer['properties']['number']] = {
            'icon': layer['features'][0]['properties']['icon'],
            'name': layer['properties']['name'],
            'number': layer['properties']['number'],
        }

    return {
        'wals_data':
        wals_data,
        'wals_map':
        WalsMap(context.parameter,
                request,
                data=wals_data,
                value_map=value_map),
        'apics_map':
        ApicsWalsMap(context.parameter,
                     request,
                     data=wals_data,
                     value_map=value_map)
    }
Exemple #21
0
def _get_cc(cc, arc="", arc_l=""):
    """Support function ('doreLanguage.lic_link()') to get a nice CC."""
    url = "https://creativecommons.org/licenses/"
    ch = cc.lower()
    if not ch.startswith("cc"):
        if ch == "na":
            return cc
        elif arc == "na":
            return "No audio archive"
        return external_link(arc_l, label="Audio at " + arc)
    ch = ch[3:]
    known = {
        'zero': 'Public Domain',
        'by': 'Creative Commons Attribution License',
        'by-nc': 'Creative Commons Attribution-NonCommercial License',
        'by-nc-nd': 'Creative Commons Attribution-NonCommercial-NoDerivatives'
        ' License',
        'by-nc-sa': 'Creative Commons Attribution-NonCommercial-ShareAlike'
        ' License',
        'by-nd': 'Creative Commons Attribution-NoDerivatives License',
        'by-sa': 'Creative Commons Attribution-ShareAlike License'
    }

    img_attrs = dict(
        alt=known[ch],
        # replace concat by doreco on final and add s to http
        src="http://concat.huma-num.fr/static/cc/" + ch + '.png')
    img_attrs.update(height=15, width=80)
    if not ch == 'zero':
        license_url = url + ch + "/4.0/"
    else:
        license_url = url + ch + "/"
    return HTML.a(HTML.img(**img_attrs),
                  href=license_url,
                  rel='license',
                  target="_blank")
Exemple #22
0
 def glo_link(self):
     gl = "https://glottolog.org/resource/languoid/id/"
     return external_link(os.path.join(gl, self.id), label=self.id)
Exemple #23
0
 def format(self, item):
     if not item.genus:
         return ''
     if not item.genus.active:
         return item.genus.name
     return external_link(item.wals_genus_url, label=item.genus.name)
Exemple #24
0
 def format(self, item):
     if item.concepticon_url:
         return external_link(item.concepticon_url)
     else:
         return ''
Exemple #25
0
 def format(self, doculect):
     href = 'http://glottolog.org/resource/languoid/id/{}'.format(
         doculect.glotto_code)
     return external_link(href, doculect.glotto_code)
Exemple #26
0
 def doi_link(self):
     if self.doi:
         return external_link(
             'https://doi.org/{0.doi}'.format(self), label='DOI: {0.doi}'.format(self))
     return ''
    def test_external_link(self):
        from clld.web.util.helpers import external_link

        self.assertTrue("http://wals.info" in external_link("http://wals.info"))
def test_external_link(env):
    from clld.web.util.helpers import external_link

    assert 'http://wals.info' in external_link('http://wals.info')
 def format(self, item):
     return external_link(item.description, label=item.id)
Exemple #30
0
 def format(self, item):
     if not item.genus:
         return ''
     if not item.genus.active:
         return item.genus.name
     return external_link(item.wals_genus_url, label=item.genus.name)
Exemple #31
0
 def format(self, item):
     return external_link(
         'http://glottolog.org/resource/languoid/id/' + item.id,
         label=item.id,
         title='Language information at Glottolog')
Exemple #32
0
 def format(self, item):
     url = getattr(self.get_obj(item), 'url', None)
     return external_link(url, **self.get_attrs(item)) if url else ''
Exemple #33
0
 def doi_link(self):
     if self.doi:
         return external_link('https://doi.org/{0.doi}'.format(self),
                              label='DOI: {0.doi}'.format(self))
     return ''
Exemple #34
0
 def format(self, item):
     if item.url:
         return external_link(item.url, label=URL(item.url).host())
Exemple #35
0
    def test_external_link(self):
        from clld.web.util.helpers import external_link

        self.assertTrue(
            'http://wals.info' in external_link('http://wals.info'))
Exemple #36
0
 def format(self, concept):
     if concept.eol:
         href = 'https://eol.org/pages/{}'.format(concept.eol)
         return external_link(href, concept.eol)
     else:
         return ''
Exemple #37
0
def render_kv(meta):
    value = meta.value
    if meta.valueUrl:
        value = external_link(meta.valueUrl, label=meta.value)
    return meta.key.replace('_', ' '), value
Exemple #38
0
 def format(self, item):
     return external_link(item.concepticon_url)
Exemple #39
0
 def format(self, item):
     label = Col.format(self, item)
     href = item.href(self.link_type)
     if href:
         return external_link(href, label=label)
     return label
Exemple #40
0
 def format(self, item):
     return external_link(item.url, 'homepage') if item.url else ''
Exemple #41
0
 def format(self, item):
     return external_link(
         'http://wals.info/feature/%sA' % item.wals_id, label='%sA' % item.wals_id)
Exemple #42
0
def render_kv(meta):
    value = meta.value
    if meta.valueUrl:
        value = external_link(meta.valueUrl, label=meta.value)
    return meta.key.replace('_', ' '), value
Exemple #43
0
 def fam_link(self):
     if not self.fam_glottocode == "na":
         gl = "https://glottolog.org/resource/languoid/id/"
         return external_link(os.path.join(gl, self.fam_glottocode),
                              label=self.family)
     return self.family
Exemple #44
0
 def format(self, item):
     url = getattr(self.get_obj(item), 'url', None)
     return external_link(url, **self.get_attrs(item)) if url else ''
Exemple #45
0
 def arc_link(self):
     if not self.arclink == "na":
         return external_link(self.arclink, label=self.archive)
     return self.archive
Exemple #46
0
 def format(self, item):
     label = Col.format(self, item)
     href = item.href(self.link_type)
     if href:
         return external_link(href, label=label)
     return label
Exemple #47
0
 def NAK_link(self):
     return external_link(self.NAK, label=self.sound)