None returned?

robinsiebler at gmail.com robinsiebler at gmail.com
Fri Jul 6 01:19:32 CEST 2007


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)




More information about the Python-list mailing list