How do I use timesince
Question: I found this snippet:

    
    
    def timesince(dt, default="just now"):
            now = datetime.utcnow()
            diff = now - dt
            periods = (
                    (diff.days / 365, "year", "years"),
            (diff.days / 30, "month", "months"),
            (diff.days / 7, "week", "weeks"),
            (diff.days, "day", "days"),
            (diff.seconds / 3600, "hour", "hours"),
            (diff.seconds / 60, "minute", "minutes"),
            (diff.seconds, "second", "seconds"),
        )
        for period, singular, plural in periods:
                if period:
                            return "%d %s ago" % (period, singular if period == 1 else plural)
        return default
    

and want to use it in an output when doing a query to my database in Google
Appegine. My database looks like so:

    
    
    class Service(db.Model):
        name = db.StringProperty(multiline=False)
        urla = db.StringProperty(multiline=False)
        urlb = db.StringProperty(multiline=False)
        urlc = db.StringProperty(multiline=False)
        timestampcreated = db.DateTimeProperty(auto_now_add=True)
        timestamplastupdate = db.DateTimeProperty(auto_now=True)
    

In the mainpage of the webapp requesthandler I want to do:

    
    
                elif self.request.get('type') == 'list':
                        q = db.GqlQuery('SELECT * FROM Service')
                        count = q.count()
                        if count == 0:
                                self.response.out.write('Success: No services registered, your database is empty.')
                        else: 
                                results = q.fetch(1000)
                                for result in results:
                                        resultcreated = timesince(result.timestampcreated)
                                        resultupdated = timesince(result.timestamplastupdate)
                                        self.response.out.write(result.name + '\nCreated:' + resultcreated + '\nLast Updated:' + resultupdated + '\n\n')
    

What am I doing wrong? I'm having troubles with formatting my code using the
snippet.

Which one of these should I do?

this?

    
    
    def timesince:
    class Service
    class Mainpage
      def get(self):
    

or this?

    
    
    class Service
    class Mainpage
      def timesince:
      def get(self):
    

I'm not too familiar with Python and would appreciate any input on how to fix
this. Thanks!


Answer: I'm not totally clear what the problem you're having is, so bear with me. A
Traceback would be helpful. :)

timesince() doesn't require any member variables, so I don't think it should
be inside one of the classes. If I were in your situation, I would probably
put timesince in its own file and then import that module in the file where
Mainpage is defined.

If you're putting them all in the same file, make sure that your spacing is
consistent and you don't have any tabs.

