1. Python / Говнокод #11572

    −101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    def comment_absolute_url(request, pid):
        """
        This is a function which return paginated absolute URL for comment.
        It replaces default comment.get_absolute_url()
        """
        comment = Comment.objects.get(id=pid)
        pagination_interval = 25 # will be defined by user settings in future
        all_comments = Comment.objects.filter(content_type=comment.content_type, object_pk=comment.object_pk,
            is_public=True, is_removed=False)
        # I will post it to govnokod.ru, okay? ;)
        dummy_counter = int(0)
        needed_page = int(dummy_counter / pagination_interval) + 1
        for dummy_comment in all_comments:
            dummy_counter = dummy_counter + 1
            if dummy_comment.id == comment.id:
                needed_page = int(dummy_counter / pagination_interval) + 1
            # making an URL
        if comment.content_type.name == "forum post":
            item = ForumPost.objects.get(id=comment.object_pk)
            url_prefix = "forum/%s/%i" % (item.forum.url, item.id)
        elif comment.content_type.name == "new":
            item = New.objects.get(id=comment.object_pk)
            url_prefix = "news/%i" % item.id
        fixed_url = "/%s/?page=%i#%i" % (url_prefix, needed_page, int(pid))
        return fixed_url

    В Django есть достаточно няшный comments framework. А ещё там есть такой же няшный paginator. А вот вместе их подружить разработчики django почему-то постеснялись, и поэтому comment.get_absolute_url() нихрена не знает о существовании paginator-а. Эта функция призвана помочь безумному автору сослаться на коммент.

    Веселье начинается от dummy_counter-а.

    Запостил: fat0troll, 11 Августа 2012

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Где здесь C++, guest?!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код