On 7/5/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > I can't figure out -what- is going wrong here. When the code reaches > the 'return' line, there is data to be returned, but when it exits out > to the calling function, 'None' is returned! > > import mx.DateTime > > def get_weeks(weeks, year, dates, date_list={}): > if dates.has_key(year): > date_list[year] = dates[year].keys()[-weeks:] > if len(dates[year].keys()) >= weeks: > return date_list > else: > weeks = weeks - len(dates[year].keys())
Right here. > get_weeks(weeks, str(int(year) -1), dates, date_list) You have to change that line to: return get_weeks(weeks, str(int(year) -1), dates, date_list) Otherwise, if len(dates[year.keys()) < weeks, it doesn't return anything. > > def get_report_dates(weeks, dates): > today = mx.DateTime.now() > this_week = today.iso_week[1] > rpt_dates = get_weeks(weeks, str(today.year), dates) > print rpt_dates > > def main(): > > dates = {'2006': {'50': [50, 'This is the 50th week'], > '51': [51, 'This is the 51st week'], > '52': [52, 'This is the 52nd week']}, > '2007': {'25': [1, 'This is the 1st week'], > '26': [2, 'This is the 2nd week'], > '27': [3, 'This is the 3rd week'], > '28': [4, 'This is the 4th week'], > '29': [5, 'This is the 5th week']}} > > get_report_dates(6, dates) > > -- > http://mail.python.org/mailman/listinfo/python-list > -- Kelvie -- http://mail.python.org/mailman/listinfo/python-list