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

    Всего: 2

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

    −120

    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
    class Column(object):
        """
            Элемент конфигурации
        """
        def __init__(self, *args, **kwargs):
    
            hid = False
            filters = []
            sorters = []
    
            if len(args) == 3:
                inner_name, verbose_name, width = args
            elif len(args) == 2:
                inner_name, verbose_name = args
                width = 20
            elif len(args) == 4:
                inner_name, verbose_name, width, hid = args
            elif len(args) == 5:
                inner_name, verbose_name, width, hid, filters = args
            elif len(args) == 6:
                inner_name, verbose_name, width, hid, filters, sorters = args
    
            special_attrs = ['locked', 'editable']
    
            self.code = inner_name
            self.name = verbose_name
            self.width = width
            self.hidden = hid
            self.idx = 0
            if sorters:
                sorters.column = self
            if filters:
                filters.column = self
                filters.code = self.code
    
            #здесь хранятся экземпляры фильтров для колонок
            self.filters = filters
            #здесь хранятся экземпляры сортировщиков для колонок
            self.sorters = sorters
    
        def get_config(self):
            ''' ?
            '''
            config = dict()
            config['data_index'] = self.code
            config['header'] = self.name
            config['width'] = self.width
            config['hidden'] = self.hidden
    
            return config

    Разбор параметров

    pycz, 23 Апреля 2015

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

    −109

    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
    class QuerysetResponse(object):
        """
            вариант респонса для фильтрации гридов или диктселекфилдов
            используя механизм инструкций
        """
        def __init__(self, queryset, application, root=None):
    
            self.root = root or "data"
    
        def __new__(cls, *args, **kwargs):
            return super(cls, cls).__new__(cls)(*args, **kwargs)
    
        def __call__(self, queryset, application):
            dict_list = []
            pack = get_pack_instance(application)
            for item in pack.list_columns:
                if isinstance(item, (list, tuple)):
                    dict_list.append(item[0])
                elif isinstance(item, dict) and item.get('data_index'):
                    dict_list.append(item['data_index'])
            self.dict_ = dict_list
            if not queryset:
                queryset = []
    
            return PreJsonResult(dict(rows=list(queryset),
                total=len(queryset)), dict_list=self.dict_).get_http_response()

    self.root не используется, ну, это видно. QuerysetResponse "инстанцируется" во всем проекте один раз.
    Мне бы такое даже в голову не пришло.

    pycz, 21 Января 2015

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