'Determines the minimum number of seconds that a program must wait
before hitting the server again without exceeding the rate_limit
imposed for the currently authenticated user.
Returns:
The minimum second interval that a program must use so as to not
exceed the rate_limit imposed for the user.'

def MaximumHitFrequency(self):

    rate_status = self.GetRateLimitStatus()
    reset_time = rate_status.get('reset_time', None)
    limit = rate_status.get('remaining_hits', None)
    if reset_time:
        reset = datetime.datetime(*rfc822.parsedate(reset_time)[:7])
        delta = ((reset + datetime.timedelta(hours=1)) - datetime.datetime.utcnow())
        if (not limit):
            return int(delta.seconds)
        max_frequency = (int((delta.seconds / limit)) + 1)
        return max_frequency
    return 60
