All pastes #254774 Raw Edit

Untitled

public python v1 · immutable
#254774 ·published 2006-11-22 07:56 UTC
rendered paste body
def __calcsince(self, dtime):    """ Function to calculate the time difference from the last request to    the current time. Express a datetime.timedelta using a    phrase such as "1 hour, 20 minutes". """    # Create a timedelta from the datetime.datetime and the current time    self.td = datetime.datetime.now() - dtime    self.pieces = []    if self.td.days:            self.pieces.append(self.__plural(self.td.days, 'day'))    self.minutes, self.seconds = divmod(self.td.seconds, 60)    self.hours, self.minutes = divmod(self.minutes, 60)    if self.hours:            self.pieces.append(self.__plural(self.hours, 'hour'))    if self.minutes or len(self.pieces) == 0:            self.pieces.append(self.__plural(self.minutes, 'minute'))    # GUI call    self.labelTime.set_text("Time: " + ", ".join(self.pieces) + " ago")def __plural(self, count, singular):    """ This is a helper function for __calcsince that handles    english plural translations """    # This is the simplest version; a more general version    # should handle -y -> -ies, child -> children, etc.    return '%d %s%s' % (count, singular, ("", 's')[count != 1])