Пример #1
0
def date_setter(photo, name, value):
    try:
        if value.strip() == '':
            value = None
        if value is not None:
            value = dateparse(value).date()
        setattr(photo, name, value)
        ret_value = getattr(photo, name)
        if ret_value is None:
            return ''
        return format_date(ret_value)
    except ValueError:
        return 'Bad date format.'
Пример #2
0
def photo_view(request, photo):
    app_context = request.app_context
    images_route = app_context.routes['images']
    version = app_context.images.version(photo, PHOTO_SIZE)
    src = images_route.url(request, fname=version['fname'])
    width, height = version['size']

    catalog = app_context.catalog
    siblings = list(catalog.photos(photo.__parent__,
                                   effective_principals(request)))
    index = 0
    n_siblings = len(siblings)
    for i in xrange(n_siblings):
        if siblings[i].id == photo.id:
            index = i
            break

    app_url = request.application_url.rstrip('/')
    prev_link = next_link = None
    if index > 0:
        prev_link = siblings[index-1].url(request)
    if index < n_siblings -1:
        next_link = siblings[index+1].url(request)
    back_link = model_url(request, photo.__parent__)

    ajax_url = model_url(request, photo, 'edit.json')

    return app_context.templates.render_to_response(
        'photo.pt',
        api=TemplateAPI(request),
        title=photo.title,
        location=photo.location,
        date=format_date(photo.date),
        desc=photo.desc,
        visibility=photo.visibility,
        src=src,
        width=width,
        height=height,
        prev_link=prev_link,
        next_link=next_link,
        back_link=back_link,
        download_link=model_url(request, photo, 'dl'),
        ajax_url=ajax_url,
        actions=simplejson.dumps(get_actions(photo, request)),
    )
Пример #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), '')