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

    −1

    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
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    def loadDevices(list_devices, db_name, db_user, db_host, db_password):
        """Загрузка устройств из базы данных"""
        psql = ClassPSQL(db_name, db_user, db_host, db_password, db_port)
    
        for group in psql.get("SELECT * FROM user_groups"):
            group_id, _, _, available_devices = group
    
            if (group_id != 0) and (available_devices != None):
                for device in parceDeviceStr(available_devices):
                    if (findDevice(list_devices, int(device)) == None):
                        local_res= psql.get("SELECT * FROM device WHERE logic_id=" + str(device))
    
                        if len(local_res):
                            dev_id, _, port = local_res[0]
                            list_devices.append(ClassDevice(int(device), str(dev_id), int(port)))
                            findDevice(list_devices, int(device)).addGroupID(int(group_id))
                    else:
                        findDevice(list_devices, int(device)).addGroupID(int(group_id))
    
        for device in psql.get("SELECT * FROM sm_devs"):
            dev_id, logic_id, port = device
    
            if (findDevice(list_devices, int(logic_id)) == None):
                list_devices.append(ClassDevice(int(logic_id), str(dev_id), int(port)))
    
        list_devices = sorted(list_devices, key=lambda device: device.getLogicID())
    
        return list_devices
    
    ------------------------------------------
    class ClassGroupDevices(object):
     ... много методов  ...
    
        def save(self):
            """Сохранение группы устройств в postgres"""
            str_logic_ids = ""
    
            for logic_id in self.getLogicIDs():
                if (len(str_logic_ids) > 0):
                    str_logic_ids += "," + str(logic_id)
    
                else:
                    str_logic_ids = str(logic_id)
    
            if (self._psql.get("SELECT subgroup_id FROM us_dev_sgr WHERE (group_id='%s' and name='%s')" % (str(self.getGroupID()), self.getName()))):
                self._psql.set("UPDATE us_dev_sgr SET logic_ids='%s' WHERE (group_id='%s' and name='%s')"\
                    % (str_logic_ids, str(self.getGroupID()), self.getName()))
            else:
                self._psql.set("INSERT INTO us_dev_sgr (group_id, name, logic_ids) VALUES ('%s', '%s', '%s')"\
                    % (str(self.getGroupID()), self.getName(), str_logic_ids))
    
    ------------------------------------------
    class ClassSchedule(object):
     ... много методов  ...
    
     def save(self, psql, list_devices:list, conf, timezone:int, schedule_id:int = 0):
            assert(isinstance(psql, ClassPSQL))
            assert(isinstance(list_devices, list))
            # assert(isinstance(conf, INIConfigLoader))
            assert(isinstance(timezone, int))
            assert(isinstance(schedule_id, int))
    
            for date in self._list_date:
                for logic_id in self._list_devices:
                    local_device = findDevice(list_devices, logic_id)
                    local_port, local_value = local_device.liquidity(self._action, conf, psql)
                    date_time = datetime.datetime.strptime(date + " " + self._time, "%d.%m.%Y %H:%M") - datetime.timedelta(hours = timezone)
                    psql.set("INSERT INTO device_exec_schedule (logicid, time, subgroup, port, value, group_id, answer) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s')" %
                                    (str(logic_id), date_time, schedule_id, str(local_port), str(local_value), str(self._groups_id), "0"))

    Была дана задача сишнику не знавшему Python написать сайт на Django за 4 дня. Знаете что? Он написал. (Названия таблиц в коде изменены, но смысл сохранён). Поддерживать код дали мне. А этот код из недр

    Запостил: viktorokh96, 29 Октября 2020

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

    • Настоящий сишник напишет сишные програмы на любом языке программирования.
      Ответить
      • Тем более в питухоне можно подключать модули на сях и, кажется, даже на сях-плю-плю.

        А говнокод в том, что сишник написал всё сам, хотя в джанге есть ОРМ? Ещё и на ошибки проверил, какой багор )))
        Ответить
        • Ну да, можно было подключить сишный модуль и написать всё на няшной. Но зачем тогда джанга и вообще питон? И без них норм.
          Ответить
    • Где тут джанга, Викторох96?
      Ответить

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