示例#1
0
def compute_consumption(product_case, window_end, get_base_action):
    window_start = window_end - timedelta(days=CONSUMPTION_WINDOW)
    overshoot_start = window_start - timedelta(days=WINDOW_OVERSHOOT)

    transactions = list(StockTransaction.by_product(product_case, to_ts(overshoot_start), to_ts(window_end)))
    transactions.sort(key=lambda tx: (tx.received_on, tx.processing_order))

    return _compute_consumption(transactions, window_start, get_base_action, {'min_periods': MIN_PERIODS, 'min_window': MIN_WINDOW})
示例#2
0
def compute_consumption(product_case, window_end, get_base_action):
    window_start = window_end - timedelta(days=CONSUMPTION_WINDOW)
    overshoot_start = window_start - timedelta(days=WINDOW_OVERSHOOT)

    transactions = list(
        StockTransaction.by_product(product_case, to_ts(overshoot_start),
                                    to_ts(window_end)))
    transactions.sort(key=lambda tx: (tx.received_on, tx.processing_order))

    return _compute_consumption(transactions, window_start, get_base_action, {
        'min_periods': MIN_PERIODS,
        'min_window': MIN_WINDOW
    })