Code Duplication    Length = 45-45 lines in 2 locations

combinedequipment.py 1 location

@@ 154-198 (lines=45) @@
151
    def on_options(req, resp, id_):
152
        resp.status = falcon.HTTP_200
153
154
    @staticmethod
155
    def on_get(req, resp, id_):
156
        if not id_.isdigit() or int(id_) <= 0:
157
            raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
158
                                   description='API.INVALID_COMBINED_EQUIPMENT_ID')
159
160
        cnx = mysql.connector.connect(**config.myems_system_db)
161
        cursor = cnx.cursor(dictionary=True)
162
163
        query = (" SELECT id, name, uuid "
164
                 " FROM tbl_cost_centers ")
165
        cursor.execute(query)
166
        rows_cost_centers = cursor.fetchall()
167
168
        cost_center_dict = dict()
169
        if rows_cost_centers is not None and len(rows_cost_centers) > 0:
170
            for row in rows_cost_centers:
171
                cost_center_dict[row['id']] = {"id": row['id'],
172
                                               "name": row['name'],
173
                                               "uuid": row['uuid']}
174
175
        query = (" SELECT id, name, uuid, "
176
                 "        is_input_counted, is_output_counted, "
177
                 "        cost_center_id, description "
178
                 " FROM tbl_combined_equipments "
179
                 " WHERE id = %s ")
180
        cursor.execute(query, (id_,))
181
        row = cursor.fetchone()
182
        cursor.close()
183
        cnx.disconnect()
184
185
        if row is None:
186
            raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND',
187
                                   description='API.COMBINED_EQUIPMENT_NOT_FOUND')
188
        else:
189
            cost_center = cost_center_dict.get(row['cost_center_id'], None)
190
            meta_result = {"id": row['id'],
191
                           "name": row['name'],
192
                           "uuid": row['uuid'],
193
                           "is_input_counted": bool(row['is_input_counted']),
194
                           "is_output_counted": bool(row['is_output_counted']),
195
                           "cost_center": cost_center,
196
                           "description": row['description']}
197
198
        resp.body = json.dumps(meta_result)
199
200
    @staticmethod
201
    def on_delete(req, resp, id_):

equipment.py 1 location

@@ 154-198 (lines=45) @@
151
    def on_options(req, resp, id_):
152
        resp.status = falcon.HTTP_200
153
154
    @staticmethod
155
    def on_get(req, resp, id_):
156
        if not id_.isdigit() or int(id_) <= 0:
157
            raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST',
158
                                   description='API.INVALID_EQUIPMENT_ID')
159
160
        cnx = mysql.connector.connect(**config.myems_system_db)
161
        cursor = cnx.cursor(dictionary=True)
162
163
        query = (" SELECT id, name, uuid "
164
                 " FROM tbl_cost_centers ")
165
        cursor.execute(query)
166
        rows_cost_centers = cursor.fetchall()
167
168
        cost_center_dict = dict()
169
        if rows_cost_centers is not None and len(rows_cost_centers) > 0:
170
            for row in rows_cost_centers:
171
                cost_center_dict[row['id']] = {"id": row['id'],
172
                                               "name": row['name'],
173
                                               "uuid": row['uuid']}
174
175
        query = (" SELECT id, name, uuid, "
176
                 "        is_input_counted, is_output_counted, "
177
                 "        cost_center_id, description "
178
                 " FROM tbl_equipments "
179
                 " WHERE id = %s ")
180
        cursor.execute(query, (id_,))
181
        row = cursor.fetchone()
182
        cursor.close()
183
        cnx.disconnect()
184
185
        if row is None:
186
            raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND',
187
                                   description='API.EQUIPMENT_NOT_FOUND')
188
        else:
189
            cost_center = cost_center_dict.get(row['cost_center_id'], None)
190
            meta_result = {"id": row['id'],
191
                           "name": row['name'],
192
                           "uuid": row['uuid'],
193
                           "is_input_counted": bool(row['is_input_counted']),
194
                           "is_output_counted": bool(row['is_output_counted']),
195
                           "cost_center": cost_center,
196
                           "description": row['description']}
197
198
        resp.body = json.dumps(meta_result)
199
200
    @staticmethod
201
    def on_delete(req, resp, id_):