Ejemplo n.º 1
0
def normalize_should_start_after(start_after, tender):
    if submission_search(QUICK, tender):
        return start_after
    date = tender.enquiryPeriod and tender.enquiryPeriod.startDate or get_now()
    if NORMALIZE_SHOULD_START_AFTER < date:
        return calc_normalized_datetime(start_after, ceil=True)
    return start_after
Ejemplo n.º 2
0
def calculate_period_start_date(date_obj,
                                timedelta_obj,
                                normalized_from_date_obj,
                                tender=None):
    tender_date = get_first_revision_date(tender, default=get_now())
    if tender_date > normalized_from_date_obj:
        return calc_normalized_datetime(date_obj,
                                        ceil=timedelta_obj > timedelta())
    else:
        return date_obj
Ejemplo n.º 3
0
def calculate_clarifications_business_date(date_obj, timedelta_obj, tender=None, working_days=False, calendar=WORKING_DAYS):
    accelerator = get_tender_accelerator(tender)
    if accelerator:
        return calc_datetime(date_obj, timedelta_obj, accelerator)
    tender_date = get_first_revision_date(tender, default=get_now())
    if tender_date > NORMALIZED_CLARIFICATIONS_PERIOD_FROM:
        source_date_obj = calc_normalized_datetime(date_obj, ceil=timedelta_obj > timedelta())
    else:
        source_date_obj = date_obj
    return calculate_tender_date(source_date_obj, timedelta_obj, tender, working_days, calendar)
Ejemplo n.º 4
0
def calculate_normalized_business_date(date_obj,
                                       timedelta_obj,
                                       accelerator=None):
    if accelerator:
        return calc_datetime(date_obj, timedelta_obj, accelerator)
    normalized_date = calc_normalized_datetime(
        date_obj, ceil=timedelta_obj > timedelta())
    return calc_working_datetime(normalized_date,
                                 timedelta_obj,
                                 midnight=True,
                                 calendar=WORKING_DAYS)
Ejemplo n.º 5
0
def calculate_framework_date(date_obj,
                             timedelta_obj,
                             framework=None,
                             working_days=False,
                             calendar=WORKING_DAYS,
                             ceil=False):
    date_obj = calc_normalized_datetime(date_obj, ceil=ceil)
    if working_days:
        return calc_working_datetime(date_obj,
                                     timedelta_obj,
                                     calendar=calendar)
    else:
        return calc_datetime(date_obj, timedelta_obj)