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()) get_weeks(weeks, str(int(year) -1), dates, date_list) 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