示例#1
0
文件: pages.py 项目: avolkov/2016-web
def about():
    """
    About page.
    """
    content, meta = get_markdown_file('about', g.lang_code)
    team = get_data_file('team.json')
    sponsors = get_data_file('sponsors.yml')
    content, meta = get_markdown_file('about', g.lang_code)

    return render_template('pages/about.html', content=content, meta=meta,
                           team=team, sponsors=sponsors)
示例#2
0
def venue():
    content = {
        'location': get_markdown_file('venue-location', g.lang_code),
        'travel': get_markdown_file('venue-travel', g.lang_code),
        'hotel': get_markdown_file('venue-hotel', g.lang_code),
        'public_transit': get_markdown_file('venue-public-transit',
                                            g.lang_code),
        'toronto': get_markdown_file('venue-toronto', g.lang_code)
    }

    return render_template('pages/venue.html', content=content)
示例#3
0
def about():
    """
    About page.
    """
    content, meta = get_markdown_file('about', g.lang_code)
    team = get_data_file('team.json')
    sponsors = get_data_file('sponsors.yml')
    content, meta = get_markdown_file('about', g.lang_code)

    return render_template('pages/about.html',
                           content=content,
                           meta=meta,
                           team=team,
                           sponsors=sponsors)
示例#4
0
文件: pages.py 项目: avolkov/2016-web
def venue():
    """
    Venue page.
    """
    content = {
        'location': get_markdown_file('venue-location', g.lang_code)[0],
        'travel': get_markdown_file('venue-travel', g.lang_code)[0],
        'hotel': get_markdown_file('venue-hotel', g.lang_code)[0],
        'public_transit': get_markdown_file('venue-public-transit',
                                            g.lang_code)[0],
        'toronto': get_markdown_file('venue-toronto', g.lang_code)[0]
    }

    return render_template('pages/venue.html', content=content)
示例#5
0
文件: pages.py 项目: kesun/2016-web
def sponsors():
    data = get_json_file('sponsors.json')
    content = get_markdown_file('sponsors', g.lang_code)

    return render_template('pages/sponsors.html',
                           content=content,
                           sponsors=data)
示例#6
0
def about():
    content = get_markdown_file('about', g.lang_code)
    team = get_json_file('team.json')
    sponsors = get_json_file('sponsors.json')

    return render_template('pages/about.html', content=content, team=team,
                           sponsors=sponsors)
示例#7
0
文件: pages.py 项目: avolkov/2016-web
def volunteer():
    """
    Volunteer at PyCon Canada page.
    """
    content, meta = get_markdown_file('volunteer', g.lang_code)

    return render_template('pages/volunteer.html', content=content, meta=meta)
示例#8
0
def event_ics(slug):
    description, content = get_markdown_file('talks/{}'.format(slug), 'en')

    if not content:
        return None

    tz = pytz.timezone('Canada/Eastern')

    start_time = datetime.strptime('{0} {1}'.format(content['date'][0],
                                                    content['start_time'][0]),
                                   '%Y-%m-%d %H:%M:%S')

    end_time = datetime.strptime('{0} {1}'.format(content['date'][0],
                                                  content['end_time'][0]),
                                 '%Y-%m-%d %H:%M:%S')

    event = Event()
    event.add('summary', u"{0} with {1}".format(content['title'][0],
                                                content['speakers'][0]))
    event.add('dtstart', tz.localize(start_time))
    event.add('dtend', tz.localize(end_time))
    event.add('dtstamp', tz.localize(start_time))

    event.add('uid', slug)

    tpl_url = 'https://2016.pycon.ca{0}'
    event.add('url', tpl_url.format(url_for('schedule.talk', slug=slug)))

    return event
示例#9
0
def volunteer():
    """
    Volunteer at PyCon Canada page.
    """
    content, meta = get_markdown_file('volunteer', g.lang_code)

    return render_template('pages/volunteer.html', content=content, meta=meta)
示例#10
0
文件: pages.py 项目: avolkov/2016-web
def code_of_conduct():
    """
    Code of Conduct page.
    """
    content, meta = get_markdown_file('code-of-conduct', g.lang_code)

    return render_template('pages/code-of-conduct.html', content=content,
                           meta=meta)
示例#11
0
def talk(slug):
    """
    Talk details page.
    """
    content, meta = get_markdown_file('talks/{}'.format(slug), 'en')

    return render_template('pages/schedule/talk.html', content=content,
                           meta=meta, slug=slug)
示例#12
0
def code_of_conduct():
    """
    Code of Conduct page.
    """
    content, meta = get_markdown_file('code-of-conduct', g.lang_code)

    return render_template('pages/code-of-conduct.html',
                           content=content,
                           meta=meta)
示例#13
0
def talk_json(slug):

    if slug == 'schedule':
        content = get_data_file('schedule.json')
    else:
        description, content = get_markdown_file('talks/{}'.format(slug), 'en')
        content['description'] = description

    return jsonify(content)
示例#14
0
def get_talk(slug):
    content, meta = get_markdown_file('talks/{}'.format(slug), g.lang_code)

    if slug:
        meta['link'] = url_for('schedule.talk', slug=slug)
    else:
        meta['link'] = None

    return meta
示例#15
0
文件: pages.py 项目: avolkov/2016-web
def sponsors():
    """
    Sponsors page.
    """
    data = get_data_file('sponsors.yml')
    content, meta = get_markdown_file('sponsors', g.lang_code)

    return render_template('pages/sponsors.html', content=content, meta=meta,
                           sponsors=data)
示例#16
0
    def generate_svg(self, slug):
        content, meta = get_markdown_file('talks/{}'.format(slug), lang='en')

        svg = render_template('cards/talk.svg', meta=meta, content=content)

        filename = join(current_app.config['STATIC_PATH'], 'images', 'cards',
                        '{}.svg')

        with open(filename.format(slug), 'wb') as fobj:
            fobj.write(svg.encode('utf8'))
示例#17
0
    def generate_svg(self, slug):
        content, meta = get_markdown_file('talks/{}'.format(slug), lang='en')

        svg = render_template('cards/talk.svg', meta=meta, content=content)

        filename = join(current_app.config['STATIC_PATH'], 'images', 'cards',
                        '{}.svg')

        with open(filename.format(slug), 'wb') as fobj:
            fobj.write(svg.encode('utf8'))
示例#18
0
def sponsors():
    """
    Sponsors page.
    """
    data = get_data_file('sponsors.yml')
    content, meta = get_markdown_file('sponsors', g.lang_code)

    return render_template('pages/sponsors.html',
                           content=content,
                           meta=meta,
                           sponsors=data)
示例#19
0
def talk_json(slug):

    if slug == 'schedule':
        content = get_data_file('schedule.json')
    else:
        description, content = get_markdown_file('talks/{}'.format(slug), 'en')

        # The Markdown Meta extension gives us everything in lists.
        # So this is a simple converter.
        for k, v in content.items():
            content[k] = v[0]

        content['description'] = description

    return jsonify(content)
示例#20
0
def talk_ics(slug):
    description, content = get_markdown_file('talks/{}'.format(slug), 'en')

    tz = pytz.timezone('Canada/Eastern')

    start_time = datetime.strptime(
        '{0} {1}'.format(content['date'][0], content['start_time'][0]),
        '%Y-%m-%d %H:%M:%S')

    end_time = datetime.strptime(
        '{0} {1}'.format(content['date'][0], content['end_time'][0]),
        '%Y-%m-%d %H:%M:%S')

    cal = Calendar()
    cal.add('prodid', '-//PyCon Canada 2016//2016.pycon.ca')
    cal.add('version', '2.0')

    event = Event()
    event.add(
        'summary', u"{0} with {1}".format(content['title'][0],
                                          content['speakers'][0]))
    event.add('dtstart', tz.localize(start_time))
    event.add('dtend', tz.localize(end_time))
    event.add('dtstamp', tz.localize(start_time))

    event.add('uid', slug)

    tpl_url = 'https://2016.pycon.ca{0}'
    event.add('url', tpl_url.format(url_for('schedule.talk', slug=slug)))

    cal.add_component(event)

    headers = {
        'Content-Disposition': 'attachment;filename={0}.ics'.format(slug)
    }

    return Response(response=cal.to_ical(),
                    status=200,
                    mimetype='text/x-calendar',
                    headers=headers)
示例#21
0
def event_ics(slug):
    description, content = get_markdown_file('talks/{}'.format(slug), 'en')

    if not content:
        abort(404)

    for k, v in content.items():
        content[k] = v[0]

    start_time = datetime.strptime('{0} {1}'.format(content['date'],
                                                    content['start_time']),
                                   '%Y-%m-%d %H:%M:%S')

    end_time = datetime.strptime('{0} {1}'.format(content['date'],
                                                  content['end_time']),
                                 '%Y-%m-%d %H:%M:%S')

    event = Event()

    if content.get('speakers'):
        event.add('summary', u"{0} with {1}".format(content['title'],
                                                    content['speakers']))
    else:
        event.add('summary', u"{}".format(content['title']))

    event.add('dtstart', tz.localize(start_time))
    event.add('dtend', tz.localize(end_time))
    event.add('dtstamp', tz.localize(start_time))

    event.add('location', 'Room {}'.format(content['rooms']))

    event.add('uid', slug)

    tpl_url = 'https://2016.pycon.ca{0}'
    event.add('url', tpl_url.format(url_for('schedule.talk', slug=slug)))

    return event
示例#22
0
def talk_json(slug):
    description, content = get_markdown_file('talks/{}'.format(slug), 'en')
    content['description'] = description
    return jsonify(content)
示例#23
0
def code_of_conduct():
    content = get_markdown_file('code-of-conduct', g.lang_code)

    return render_template('pages/code-of-conduct.html', content=content)
示例#24
0
def volunteer():
    content = get_markdown_file('volunteer', g.lang_code)

    return render_template('pages/volunteer.html', content=content)