Змея / Говнокод #11572 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 fat0troll, (Updated )

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

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8