Exemple #1
0
def album_view(request, album):
    app_context = request.app_context
    months_route = app_context.routes['month']
    if album.date_range is not None:
        date = album.date_range[0]
        back_link = months_route.url(
            request, year=str(date.year), month='%02d' % date.month
        )
    else:
        back_link = ''
    photos = _get_photos(request, album)

    return app_context.templates.render_to_response(
        'album.pt',
        api=TemplateAPI(request),
        title=album.title,
        location=album.location,
        desc=album.desc,
        date_range=format_date_range(album.date_range),
        date_range_edit=format_editable_date_range(album.date_range),
        photos=photos,
        back_link=back_link,
        actions=get_actions(request, album, photos),
        ajax_url=model_url(request, album, 'edit.json'),
    )
Exemple #2
0
def date_range_setter(album, name, value):
    try:
        if value.strip() == '' or value is None:
            setattr(album, name, album._guess_date_range())
            return format_date_range(album.date_range)

        if '-' in value:
            begin, end = value.split('-')
        else:
            begin = end = value
        value = (dateparse(begin).date(), dateparse(end).date())

        setattr(album, name, value)
        return format_date_range(getattr(album, name))

    except ValueError:
        return 'Bad date format.'
Exemple #3
0
    def test_it(self):
        from edwin.views.util import format_date_range
        from datetime import date
        self.assertEqual(
            format_date_range((date(2007, 9, 9), date(2007, 9, 9))),
            'September 9, 2007'
        )
        self.assertEqual(
            format_date_range((date(2007, 9, 9), date(2007, 9, 11))),
            'September 9-11, 2007'
        )
        self.assertEqual(
            format_date_range((date(2007, 9, 9), date(2007, 10, 9))),
            'September 9 - October 9, 2007'
        )
        self.assertEqual(
            format_date_range((date(2007, 9, 9), date(2008, 9, 9))),
            'September 9, 2007 - September 9, 2008'
        )
        self.assertEqual(format_date_range(None), '')

        from edwin.views.util import format_date
        self.assertEqual(format_date(None), '')
Exemple #4
0
def homepage_view(request):
    catalog = request.app_context.catalog
    recent_albums = []
    for album in catalog.albums(effective_principals(request), limit=40):
        recent_albums.append(dict(
            title=album.title,
            url=album.url(request),
            date_range=format_date_range(album.date_range)
            )
        )

    return request.app_context.templates.render_to_response(
        'homepage.pt',
        api=TemplateAPI(request),
        recent_albums=recent_albums,
    )
Exemple #5
0
def month_view(request, year, month):
    app_context = request.app_context
    catalog = app_context.catalog
    albums = []
    for album in catalog.albums(
        effective_principals(request),
        month='%s-%s' % (year, month)):
        albums.append(dict(
            title=album.title,
            url=album.url(request),
            date_range=format_date_range(album.date_range),
            )
        )

    return app_context.templates.render_to_response(
        'month.pt',
        api=TemplateAPI(request),
        albums=albums,
        date=format_month(int(year), int(month))
    )