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

    −96

    1. 1
    {% verbatim %}{{ setExpireValue({% endverbatim %}{{ value }}{% verbatim %}) }}{% endverbatim %}

    AngularJS + Django, люди доходят до ручки.

    YourPM, 24 Октября 2014

    Комментарии (7)
  2. Python / Говнокод #16926

    −97

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def constant_time_compare(val1, val2):
        """
        Returns True if the two strings are equal, False otherwise.
    
        The time taken is independent of the number of characters that match.
        """
        if len(val1) != len(val2):
            return False
        result = 0
        for x, y in zip(val1, val2):
            result |= ord(x) ^ ord(y)
        return result == 0

    Django.utils.crypto в Django 1.4

    american_idiot, 24 Октября 2014

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

    −93

    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
    # Source: python3.4/distutils/dir_util.py
    
    
    # cache for by mkpath() -- in addition to cheapening redundant calls,
    # eliminates redundant "creating /foo/bar/baz" messages in dry-run mode
    _path_created = {}
    
    # I don't use os.makedirs because a) it's new to Python 1.5.2, and
    # b) it blows up if the directory already exists (I want to silently
    # succeed in that case).
    def mkpath(name, mode=0777, verbose=1, dry_run=0):
        """Create a directory and any missing ancestor directories.
    
        If the directory already exists (or if 'name' is the empty string, which
        means the current directory, which of course exists), then do nothing.
        Raise DistutilsFileError if unable to create some directory along the way
        (eg. some sub-path exists, but is a file rather than a directory).
        If 'verbose' is true, print a one-line summary of each mkdir to stdout.
        Return the list of directories actually created.
        """
    
        global _path_created
    
        # Detect a common bug -- name is None
        if not isinstance(name, basestring):
            raise DistutilsInternalError, \
                  "mkpath: 'name' must be a string (got %r)" % (name,)
    
        # XXX what's the better way to handle verbosity? print as we create
        # each directory in the path (the current behaviour), or only announce
        # the creation of the whole path? (quite easy to do the latter since
        # we're not using a recursive algorithm)
    
        name = os.path.normpath(name)
        created_dirs = [] 
        if os.path.isdir(name) or name == '':
            return created_dirs
        if _path_created.get(os.path.abspath(name)):
            return created_dirs
        ...

    Мало того, что метод жив на основании того, что os.makedirs был добавлен только в Python 1.5.2 (мама родная, 2.7 скоро закопаем, а говно всё тянется), так его ещё и умудрились наиндусить на 60 строк кода, да ещё и ХХХ секцию аккуратно положили. Ладно, чего это я придираюсь... Ах да, оно кеширует уже созданные директории, так что если создать папку и удалить её, второй раз её уже никак не создашь...

    frol, 23 Октября 2014

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

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    def reverse_govnocode(text):
        rev_str = []
        str_len = len(text) - 1
        while str_len >= 0:
            rev_str.append(text[str_len])
            str_len -= 1
        return ''".join(rev_str)

    stanp, 09 Октября 2014

    Комментарии (4)
  5. Python / Говнокод #16814

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    class GNUTranslations(NullTranslations):
        # Magic number of .mo files
        LE_MAGIC = 0x950412de
        BE_MAGIC = 0xde120495

    хуита, 07 Октября 2014

    Комментарии (5)
  6. Python / Говнокод #16794

    −98

    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
    def down_cast_qobject(tp, obj):
        assert obj
        assert isinstance(tp, type)
        assert issubclass(tp, QObject)
        addresses = shiboken.getCppPointer(obj)
        assert isinstance(addresses, collections.Iterable)
        assert len(addresses)
        ptrs = filter(lambda p: p > 0L, addresses)
        assert ptrs
        ptr = ptrs[0]
        assert isinstance(ptr, long)
        wrapped = shiboken.wrapInstance(ptr, tp)
        assert isinstance(wrapped, tp)
        return wrapped

    Paranoid_mode = True

    QBatman, 03 Октября 2014

    Комментарии (32)
  7. Python / Говнокод #16700

    −99

    1. 1
    2. 2
    def str_to_float(i):
        return int (i) + 0.0

    Так надо!

    zadrot, 16 Сентября 2014

    Комментарии (4)
  8. Python / Говнокод #16678

    −119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    import sys;
     
    class Cout(object):
        def __lshift__(self, anything):
            sys.stdout.write(str(anything));
            return self;
     
    cout = Cout();
    endl = '\n';
     
    cout << 'Hello, World!' << endl;

    http://lurkmore.to/Обсуждение:Python#.D0.92_.D1.81.D1.82.D0 .B8.D0.BB.D0.B5_.D0.BF.D0.BB.D1.8E.D1.81 .D0.BE.D0.B2

    someone, 11 Сентября 2014

    Комментарии (10)
  9. Python / Говнокод #16614

    −102

    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
    def booleanize(value):
        """Return value as a boolean."""
    
        true_values = ("yes", "true", "1")
        false_values = ("no", "false", "0")
    
        if isinstance(value, bool):
            return value
    
        if value.lower() in true_values:
            return True
    
        elif value.lower() in false_values:
            return False

    В комментариях не нуждается.

    Niyakiy, 29 Августа 2014

    Комментарии (5)
  10. Python / Говнокод #16596

    −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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    class ImageAsset(Asset):
     
        def to_xml(self):  
            if self.asset_type == self.VIDEO:
                return self.videoasset.to_xml()
            element = etree.Element("imageAsset")
            if self.mask_key:
                element.set("maskId", self.mask_key)
            if self.image_x:
                element.set("imageX", str(self.image_x))
            if self.image_y:
                element.set("imageY", str(self.image_y))
            if self.image_width:
                element.set("imageWidth", str(self.image_width))
            if self.image_height:
                element.set("imageHeight", str(self.image_height))
            self.set_xml_attrs(element)
            return element
    
    class VideoAsset(ImageAsset):
     
        def to_xml(self):  
            element = etree.Element("videoAsset")
            if self.mask_key:
                element.set("maskId", self.mask_key)
            if self.image_x:
                element.set("imageX", str(self.image_x))
            if self.image_y:
                element.set("imageY", str(self.image_y))
            if self.image_width:
                element.set("imageWidth", str(self.image_width))
            if self.image_height:
                element.set("imageHeight", str(self.image_height))
            self.set_xml_attrs(element)
            return element

    Полиморфизм это вам не шубу в трусы заправлять!

    wvxvw, 26 Августа 2014

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