예제 #1
0
def smart_time(date):
    """
    Cover for ru_strftime from pytils. Don't show needless part of time string
    """
    now = timezone.now()
    today = now.replace(hour=0, minute=0, second=0)
    if date > now - datetime.timedelta(hours=2) and is_language('ru'):
        # from 2 hours ago to now
        return dt.distance_of_time_in_words(date, 1, now)
    elif date > today:
        # from start of today to 2 hours ago
        format = u'%H:%M'
    elif date > today - datetime.timedelta(days=1):
        # yesterday
        format = _('yesterday') + u', %H:%M'
    elif date > today - datetime.timedelta(days=2):
        # the day before yesterday
        format = _('day before yesterday') + u', %H:%M'
    elif date > today.replace(day=1, month=1):
        # this year
        format = u'%d %B, %H:%M'
    else:
        format = u'%d %B %Y, %H:%M'

    if is_language('ru'):
        return ru_strftime(date, format)
    else:
        return strftime(date, format)
예제 #2
0
파일: api.py 프로젝트: svartalf/abakron
    def get(self, request, *args, **kwargs):
        ct = ContentType.objects.get_for_model(MODELS_MAPPINGS[kwargs['model']])

        try:
            ct.get_object_for_this_type(pk=kwargs['object_id'])
        except ObjectDoesNotExist:
            raise ErrorResponse(status.HTTP_404_NOT_FOUND)

        queryset = Comment.objects.filter(content_type=ct, object_id=kwargs['object_id']).select_related('user') \
            .order_by('tree_id', 'created')

        return [{
            'id': x.id,
            'created': x.created,
            'created_readable': ru_strftime(x.created, u'%d %B в %H:%M'),
            'content': markdown.markdown(x.content),
            'depth': x.depth,
            'user': {
                'id': x.user.id,
                'username': x.user.username,
            }
        } for x in queryset]