Example #1
0
def index():
    ''' render the basic template for angular '''
    data = graph.get_all('grimoire')
    grimoires = []
    for g in data['nodes']:
        g = g['props']
        year = helpers.grimoire_date(g)

        grimoires.append({
            'uid': g['uid'],
            'identifier': g['identifier'],
            'date': year,
            'timestamp': g['date']
        })
        grimoires = sorted(grimoires, key=lambda grim: grim['timestamp'])
    excerpt = graph.get_frontpage_random()['nodes'][0]
    excerpt['props']['content'] = markdown(excerpt['props']['content'])

    # --- map
    events = graph.get_all('event')['nodes']
    events = sorted(events,
                    key=lambda k: int(k['props']['date']),
                    reverse=True)

    for event in events:
        event['props']['display_date'] = helpers.grimoire_date(event['props'])

    # --- render template
    template_data = {
        'title': 'Grimoire Encyclopedia',
        'grimoires': grimoires,
        'excerpt': excerpt,
        'events': events
    }
    return flask_render_template('home.html', **template_data)
Example #2
0
def index():
    ''' render the basic template for angular '''
    data = graph.get_all('grimoire')
    grimoires = []
    for g in data['nodes']:
        g = g['props']
        year = helpers.grimoire_date(g)

        grimoires.append({
            'uid': g['uid'],
            'identifier': g['identifier'],
            'date': year
        })
        grimoires = sorted(grimoires, key=lambda grim: grim['identifier'])
    excerpt = graph.get_frontpage_random()['nodes'][0]
    excerpt['props']['content'] = markdown(excerpt['props']['content'])

    # --- map
    events = graph.get_all('event')['nodes']
    events = sorted(events,
                    key=lambda k: int(k['props']['date']),
                    reverse=True)

    for event in events:
        event['props']['display_date'] = helpers.grimoire_date(event['props'])

    # --- render template
    template_data = {
        'title': 'Grimoire Encyclopedia',
        'grimoires': grimoires,
        'excerpt': excerpt,
        'events': events
    }
    return flask_render_template('home.html', **template_data)
Example #3
0
def grimoire_item(node, rels):
    ''' grimoire item page
    :param node: the item node
    :param rels: default relationship list
    :return: customized data for this label
    '''
    data = generic_item(node, rels)

    data['rels'] = helpers.exclude_rels(data['rels'], [
        'lists', 'has', 'includes', 'wrote', 'was_written_in'])

    data['details']['date'] = [{'text': helpers.grimoire_date(node['props'])}]

    authors = extract_rel_list_by_type(rels, 'wrote', 'start')
    authors = extract_details(authors)
    if authors:
        data['details']['author'] = authors

    languages = extract_rel_list_by_type(rels, 'was_written_in', 'end')
    if languages:
        data['details']['language'] = extract_details(languages)

    editions = extract_rel_list(rels, 'edition', 'end')
    if editions:
        data['sidebar'].append({
            'title': 'Editions',
            'data': editions
        })

    for entity in entities:
        items = extract_rel_list_by_type(rels, 'lists', 'end', label=entity)
        if len(items):
            item_json = {
                'title': helpers.pluralize(entity),
                'data': items,
                'many': True,
                'compare': get_comparison(node, entity)
            }
            data['main'].append(item_json)

    spells = extract_rel_list(rels, 'spell', 'end')
    if len(spells):
        data['main'].append({
            'title': 'Spells',
            'data': spells,
            'many': False,
            'compare': get_comparison(node, 'spell')
        })

    talisman = extract_rel_list(rels, 'talisman', 'end')
    if len(talisman):
        data['main'].append({
            'title': 'Talismans',
            'data': talisman,
            'many': False
        })
    return data
Example #4
0
def temporospatial():
    ''' render the basic template for angular '''
    events = graph.get_all('event')['nodes']
    events = sorted(events,
                    key=lambda k: int(k['props']['date']),
                    reverse=True)

    for event in events:
        event['props']['display_date'] = helpers.grimoire_date(event['props'])
    template_data = {'title': 'Grimoire Encyclopedia', 'events': events}
    return flask_render_template('map.html', **template_data)
Example #5
0
def grimoire_item(node, rels):
    ''' grimoire item page
    :param node: the item node
    :param rels: default relationship list
    :return: customized data for this label
    '''
    data = generic_item(node, rels)

    data['rels'] = helpers.exclude_rels(
        data['rels'], ['lists', 'has', 'includes', 'wrote', 'was_written_in'])

    data['details']['date'] = [{'text': helpers.grimoire_date(node['props'])}]

    authors = extract_rel_list_by_type(rels, 'wrote', 'start')
    authors = extract_details(authors)
    if authors:
        data['details']['author'] = authors

    languages = extract_rel_list_by_type(rels, 'was_written_in', 'end')
    if languages:
        data['details']['language'] = extract_details(languages)

    editions = extract_rel_list(rels, 'edition', 'end')
    if editions:
        data['sidebar'].append({'title': 'Editions', 'data': editions})

    for entity in entities:
        items = extract_rel_list_by_type(rels, 'lists', 'end', label=entity)
        if len(items):
            item_json = {
                'title': helpers.pluralize(entity),
                'data': items,
                'many': True,
                'compare': get_comparison(node, entity)
            }
            data['main'].append(item_json)

    spells = extract_rel_list(rels, 'spell', 'end')
    if len(spells):
        data['main'].append({
            'title': 'Spells',
            'data': spells,
            'many': False,
            'compare': get_comparison(node, 'spell')
        })

    talisman = extract_rel_list(rels, 'talisman', 'end')
    if len(talisman):
        data['main'].append({
            'title': 'Talismans',
            'data': talisman,
            'many': False
        })
    return data
Example #6
0
def temporospatial():
    ''' render the basic template for angular '''
    events = graph.get_all('event')['nodes']
    events = sorted(events,
                    key=lambda k: int(k['props']['date']),
                    reverse=True)

    for event in events:
        event['props']['display_date'] = helpers.grimoire_date(event['props'])
    template_data = {
        'title': 'Grimoire Encyclopedia',
        'events': events
    }
    return flask_render_template('map.html', **template_data)