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

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
  26. 26
  27. 27
  28. 28
# @models.permalink
    def get_absolute_url(self):
        def urls_r(urlresolver, prefix = ''):
            urllist = []
            urlname = []
            for i in urlresolver:
                if str(type(i)) == "<class 'django.core.urlresolvers.RegexURLResolver'>":
                    url_return = urls_r(i.url_patterns, i.regex.pattern)
                    urllist += url_return[0]
                    urlname += url_return[1]
                else:
                    urllist.append(prefix + i.regex.pattern[1:])
                    urlname.append(i.name)
            return urllist, urlname

        from bizon.urls import urlpatterns
        from code.core.urls import code

        urllist, urlname = urls_r(urlpatterns)

        url = ''
        try:
            url = urllist[urlname.index('news_show')]
        except:
            print sys.exc_info()

        absolute_url = url.replace('^', '/').replace('(%s)' %code, '%s').replace('(\\d+)', '%d').replace('$', '') %(self.language, self.pk)
        return absolute_url

сюрпризы в коде проектов от бывших коллег, феерией было видеть рядом с этим кодом маленькую функцию:
def get_link(self):
return '/ru/news/information/new/%d/' % (self.id)

Запостил: oxymoron42 oxymoron42, (Updated )

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

  • > феерией было видеть рядом с этим кодом маленькую функцию

    это все было вступлением, а самое интересное - в сноске
    Ответить
  • >str(type(i)) == "<class django.core.urlresolvers.RegexURLResolve r'>"
    Охблядь.
    Ответить
    • except:
      print sys.exc_info()

      Это нахуя? В джанге нет нормального логгера исключений?
      Ответить
      • Есть, конечно же. Просто автор этого legacy-кода не может в исключения по-хорошему.
        Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8