1. Список говнокодов пользователя alerion

    Всего: 2

  2. Python / Говнокод #8098

    −95

    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
    def _lang_score(l):
        score = 0
        if l.language in user_langs:
            score += 100
        if l.is_complete:
            score += 100    
        elif l.is_dependent():
            score += l.percent_done
        score += ord('c'.decode('utf-8')) / 10.0    
        return score
    
    def _cmp_langs(a,b):
        return cmp(_lang_score(b), _lang_score(a))

    Функция сравнения для сортировки объектов. Вроде все хорошо, но не понятно зачем 9-я строка.

    alerion, 06 Октября 2011

    Комментарии (11)
  3. Python / Говнокод #7804

    −85

    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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    def captions_and_translations_to_srt(captions_and_translations):
        output = StringIO.StringIO()
        for i in range(len(captions_and_translations)):
            translation_to_srt(captions_and_translations[i][1],
                               captions_and_translations[i][0],
                               i, output)
        srt = output.getvalue()
        output.close()
        return srt
    
    def translation_to_srt(translation, video_caption, index, output):
        subtitle_to_srt_impl(video_caption.caption_text if translation is None \
                             else translation.translation_text, 
                             video_caption, index, output)
    
    def subtitle_to_srt_impl(text, video_caption, index, output):
        output.write(str(index + 1))
        output.write("\n")
        write_srt_time_line(video_caption, output)
        output.write(text)
        output.write("\n\n")
    
    def write_srt_time_line(video_caption, output):
        write_srt_time(video_caption.start_time, output)
        output.write(" --> ")
        write_srt_time(video_caption.end_time, output)
        output.write("\n")
    
    def write_srt_time(seconds, output):
        seconds_int = int(seconds)
        write_padded_num((seconds_int / 3600) % 60, 2, output)
        output.write(":")
        write_padded_num((seconds_int / 60) % 60, 2, output)
        output.write(":")
        write_padded_num(seconds_int % 60, 2, output)
        output.write(",")
        write_padded_num(int(seconds * 1000) % 1000, 3, output)
    
    def write_padded_num(num, numchars, output):
        strnum = str(num)
        numzeros = numchars - len(strnum)
        for i in range(numzeros):
            output.write("0")
        output.write(strnum)

    Генератор SRT субтитров.

    alerion, 08 Сентября 2011

    Комментарии (10)