hello all,<br> since I posted this last time, I've added a new function dates_diff and modified the dates_dict function to set timedelta values returned by dates_diff in the returned dict<br><br> def dates_dict(self,*targs,**dargs):<br>
"""<br> dates_dict() - takes params same as prefs()<br> returns dict key/value pair of formatted/calculated dates<br> key is a date, value is timedelta enddate-startdate <br>
<br> """<br> self.prefs(*targs,**dargs)<br> d={}<br> try:<br> if self.format!="":<br> d[self.startdate.strftime(self.format)]=self.dates_diff()<br>
else:<br> d[self.startdate]=self.dates_diff()<br> except ValueError:<br> d["%s"%self.startdate]=self.dates_diff()<br> while self.startdate<self.enddate:<br>
a=self.calc(*targs,**dargs)[0]<br> d[a]=self.dates_diff()<br> self.reset_dates()<br> return d<br> def dates_diff(self,*targs):<br> """<br> dates_diff - return timedelta difference between startdata and enddate<br>
takes nothing, a tuple, a list or 2 date objects as params<br> return enddate - startdate timedelta<br> <br> """<br> start,end=(self.startdate,self.enddate)<br>
if targs:<br> if(len(targs)==1):<br> if(type(targs[0])==type(()) or targs[0] == type([])):<br> if(len(targs[0])==2):<br> start,end=(targs[0][0],targs[0][1])<br>
elif(len(targs)== 2):<br> if(type(targs[0])==type(date.today()) and targs[1] == type(date.today())):<br> start,end=(targs[0],targs[1]) <br> return end-start<br clear="all">
<br>-Alex Goretoy<br>