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

    Всего: 11

  2. Куча / Говнокод #28301

    −6

    1. 1
    хде хруст?

    Превед, говнокод. Чому нет категории для раста?

    orion, 28 Июля 2022

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

    −22

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    def get_context(self, script_name, request=None):
            context = self.get_script_context(script_name)
    
            with suppress(KeyError):
                context.update(context['ctx_updater'](context))
    
            return context

    кручу-верчу, контекст обновить хочу.

    orion, 12 Ноября 2015

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

    −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
    15. 15
    class NumFactory:
        def __init__(self, n):
            self.val = n
        def timesTwo(self):
            self.val *= 2
        def plusTwo(self):
            self.val += 2
    
    f = NumFactory(2)
    for m in dir(f):
        mthd = getattr(f,m)
        if callable(mthd):
            mthd()
    
    print f.val

    Забавный пример. Что будет в результате выполнения?
    * 2
    * 4
    * 6
    * 8
    * исключение

    orion, 25 Мая 2015

    Комментарии (15)
  5. Куча / Говнокод #16178

    +128

    1. 1
    http://www.linkedin.com/reg/webmail-invite-v2?goback=%2Enpv_107866884_*1_*1_name_3B*5x_*1_*1_*1_193888328*4I417532095*4190_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1_eml*5comm*4invm*5b*5profile*5newinvite_*1%2Efiie_*1_gmail_*1_*1_*1_*1_*1_*1&origin=gmail&flow=1qbwqgl-u8y0iy

    красивый урл от linkedin

    orion, 17 Июня 2014

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

    −103

    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
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    def visit_params(visitor, params, schema=None):
    
        """
            Визитор json'a
        @param visitor: посетитель. функция, принимающая параметры, опционально схему и опционально ключ
        @param params: параметры, передающиеся посетителю
        @param schema: схема, передающаяся посетителю. Должна быть расширена до стандартных типов
        @return: результат применения посетителя к параметрам
        """
        def _visit_params_rec(params, schema=None, key=None):
            if schema:
                _type = schema.get('type')
    
                if _type == 'object':
                    if not params:
                        params = {}
    
                    return {
                        k: _visit_params_rec(params.get(k), v, key=k)
                        for k, v in schema["properties"].iteritems()
                    }
    
                if _type == 'array':
                    if not params:
                        params = []
    
                    return [
                        _visit_params_rec(item, schema["items"], key=key)
                        for item in params
                    ]
    
                return visitor(params, schema=schema, key=key)
    
            # schema == None
            if isinstance(params, dict):
                return {
                    k: _visit_params_rec(v, key=k)
                    for k, v in params.iteritems()
                }
    
            if isinstance(params, list):
                return [
                    _visit_params_rec(item, key=key)
                    for item in params.iteritems()
                ]
    
            return visitor(params, key=key)
    
        if schema:
            return {
                k: _visit_params_rec(params=params.get(k), schema=v, key=k)
                for k, v in schema.iteritems()
            }
    
        if isinstance(params, dict):
            return {
                k: _visit_params_rec(params=v, key=k)
                for k, v in params.iteritems()
            }
    
        raise Exception("Must be object %r" % params)

    в продолжение http://govnokod.ru/15831

    orion, 13 Мая 2014

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

    −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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    def in_params(json, value, par_name, par_type, key=None):
            """
            @param: par_type in [int, float, str, bool]
            @return: is parameter in json
            """
            if isinstance(json, dict):
                return any(in_params(v, value, par_name, par_type, key=k) for k, v in json.iteritems())
    
            if isinstance(json, list):
                return any(in_params(e, value, par_name, par_type, key=None) for e in json)
    
            # it's time to check value
            if par_name and par_name != key:
                return False
    
            try:
                if par_type == 'str':
                    return json.lower() == value.lower()
                # type cast
                return eval("""%s(%s) == %s(%s)""" % (par_type, json, par_type, value))
            except:
                return False

    воюю с типизацией.

    orion, 23 Апреля 2014

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

    −102

    1. 1
    is_zipped = not request.args.get('is_zipped', "false") == "false"

    >>> bool("false")
    True
    >>> bool("False")
    True
    почему бы не сделать их ложью

    orion, 12 Марта 2014

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

    −88

    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
    while ii<kol:
               a = random.random()
               z = str(a)
               L = len(z)
               i = 0
               while i <L:
                    if z[i]=="0":
                       s0 +=1
                   elif z[i]=="1":
                       s1 +=1
                   elif z[i]=="2":
                       s2 +=1
                   elif z[i]=="3":
                       s3 +=1
                   elif z[i]=="4":
                       s4 +=1
                   elif z[i]=="5":
                        s5 +=1
                   elif z[i]=="6":
                       s6 +=1
                   elif z[i]=="7":
                       s7 +=1
                   elif z[i]=="8":
                       s8 +=1
                   elif z[i]=="9":
                       s9 +=1
                   i+=1
            ii +=1

    массивы для питухов
    http://habrahabr.ru/post/183022/

    orion, 17 Июня 2013

    Комментарии (100)
  10. Java / Говнокод #13085

    +76

    1. 1
    https://github.com/mongodb/mongo-java-driver/blob/master/src/main/com/mongodb/ConnectionStatus.java#L213

    wtf?!

    orion, 31 Мая 2013

    Комментарии (13)
  11. Java / Говнокод #12255

    +79

    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
     private static String dbl2str(Object obj) {
            String value;                        
            String str = obj.toString();
            if (str.indexOf('E') != -1) {
                //System.out.print("1  ");
                String[] qwe = str.split("E");
                String newstr = "";
                int step = Integer.parseInt(qwe[1]);
                for (int ind = 0; ind < qwe[0].length(); ind++) {
                    if (step > 0) {
                        if ((ind == (step + 2)) && (ind != qwe[0].length())) {
                            newstr = newstr + '.';
                        }
    
                        if (str.charAt(ind) != '.') {
                            newstr = newstr + str.charAt(ind);
                        }
                        if ((ind == qwe[0].length() - 1) && (ind <= step)) {
                            for (int ind2 = 0; ind2 < (step + 1 - ind); ind2++) {
                                newstr = newstr + "0";
                            }
                        }
                    } else {
                        if (ind == 0) {
                            newstr = newstr + "0.";
                            for (int ind3 = 0; ind3 > step + 1; ind3--) {
                                newstr = newstr + "0";
                            }
                        }
                        if (str.charAt(ind) != '.') {
                            newstr = newstr + str.charAt(ind);
                        }
                    }
                }
                value = newstr;
            } else {
                value = obj.toString();
            }
             return value;                       
        }

    жгем, товарищи! Double to String!

    orion, 06 Декабря 2012

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