Code Duplication    Length = 20-20 lines in 2 locations

byceps/services/shop/order/service.py 2 locations

@@ 229-248 (lines=20) @@
226
    db.session.commit()
227
228
229
def unset_shipped_flag(order_id: OrderID, initiator_id: UserID) -> None:
230
    """Mark the order as not shipped."""
231
    order = _get_order_entity(order_id)
232
    initiator = user_service.get_user(initiator_id)
233
234
    if not order.shipping_required:
235
        raise ValueError('Order contains no items that require shipping.')
236
237
    now = datetime.utcnow()
238
    event_type = 'order-shipped-withdrawn'
239
    data = {
240
        'initiator_id': str(initiator.id),
241
    }
242
243
    event = DbOrderEvent(now, event_type, order.id, data)
244
    db.session.add(event)
245
246
    order.shipped_at = None
247
248
    db.session.commit()
249
250
251
class OrderAlreadyCanceled(Exception):
@@ 207-226 (lines=20) @@
204
    db.session.commit()
205
206
207
def set_shipped_flag(order_id: OrderID, initiator_id: UserID) -> None:
208
    """Mark the order as shipped."""
209
    order = _get_order_entity(order_id)
210
    initiator = user_service.get_user(initiator_id)
211
212
    if not order.shipping_required:
213
        raise ValueError('Order contains no items that require shipping.')
214
215
    now = datetime.utcnow()
216
    event_type = 'order-shipped'
217
    data = {
218
        'initiator_id': str(initiator.id),
219
    }
220
221
    event = DbOrderEvent(now, event_type, order.id, data)
222
    db.session.add(event)
223
224
    order.shipped_at = now
225
226
    db.session.commit()
227
228
229
def unset_shipped_flag(order_id: OrderID, initiator_id: UserID) -> None: