def provider_generatelist(): return ( ("{b}", 2010, [(1, 1, 2010)]), ("{t}", None, [date.today()]), ("{t}", 2010, [date.today()]), ("{b(2011)}", 2010, [(1, 1, 2011)]), ("{e}", None, [(31, 12, date.get_current_year())]), ("{e(2000)}", None, [(31, 12, 2000)]), ("{Pascha}", 2000, [date.Pascha(2000)]), ("{Pascha}", None, [date.Pascha(date.get_current_year())]), )
def process(sub_formula, year): ''' Преобразуем смарт фунцию ''' if sub_formula == 'be': formula_obj = DiapasonFormula('01.01~31.12', year) elif sub_formula == 'b': formula_obj = SimpleDateFormula('01.01', year) elif sub_formula == 'e': formula_obj = SimpleDateFormula('31.12', year) elif sub_formula == 'Pascha': pascha = date.Pascha(year) formula_obj = SimpleDateFormula( '{0:02d}.{1:02d}.{2:02d}'.format(*pascha), year ) elif sub_formula == 't': formula_obj = SimpleDateFormula( '{0:02d}.{1:02d}.{2:02d}'.format(*date.today()), year ) else: raise FormulaException( 'Неопределенная формула {0}'.format(sub_formula) ) return formula_obj