'Prints a nag message and updates the nag file\'s timestamp.
Because we don\'t want to nag the user everytime, we store a simple
yaml document in the user\'s home directory.  If the timestamp in this
doc is over a week old, we\'ll nag the user.  And when we nag the user,
we update the timestamp in this doc.
Args:
msg: The formatted message to print to the user.
latest: The yaml document received from the server.
version: The local yaml version document.
force: If True, always nag the user, ignoring the nag file.'

def _Nag(self, msg, latest, version, force=False):

    nag = self._ParseNagFile()
    if (nag and (not force)):
        last_nag = datetime.datetime.fromtimestamp(nag.timestamp)
        if ((datetime.datetime.now() - last_nag) < datetime.timedelta(weeks=1)):
            logging.debug('Skipping    nag    message')
            return
    if (nag is None):
        nag = NagFile()
    nag.timestamp = time.time()
    self._WriteNagFile(nag)
    print '****************************************************************'
    print msg
    print '-----------'
    print 'Latest    SDK:'
    print yaml.dump(latest)
    print '-----------'
    print 'Your    SDK:'
    print yaml.dump(version)
    print '-----------'
    print 'Please    visit    https://developers.google.com/appengine/downloads'
    print 'for    the    latest    SDK'
    print '****************************************************************'
