예제 #1
0
파일: admin.py 프로젝트: dudarev/osmtweet
 def PrepareHandler(self):
     """prepare means: 
     - find the oldest non-prepared
     - create bit.ly link if does not exist
     - create trimmed tweet text if the link exists"""
     config = get_config()
     self.response.out.write('<br/><br/>Preparing to tweet')
     # get oldest non-prepared changeset in the datastore
     oldest_changeset = Changeset.all().order('created_at').filter('is_prepared =', False).fetch(1)
     if oldest_changeset:
         c = oldest_changeset[0]
         self.response.out.write('<br/>There is non-prepared<br/>')
         self.response.out.write("id: %d<br/>" % c.id)
         self.response.out.write("created_at: %s<br/>" % c.created_at)
         self.response.out.write("comment: %s<br/>" % c.comment)
         self.response.out.write("user: %s<br/>" % c.user)
         # if no shortened link - create it
         if not c.link_url:
             long_url = "http://www.openstreetmap.org/browse/changeset/%d" % c.id
             bitly = BitLy(config["bitly_username"], config["bitly_key"])
             short_url = bitly.short_url(long_url)
             if not short_url:
                 self.response.out.write('could not shorten')
                 return
             self.response.out.write(short_url)
             c.link_url = short_url
         if not c.tweet:
             if c.comment:
                 tweet = "%s: %s %s" % (c.user, c.comment, c.link_url)
             else:
                 tweet = "%s: %s" % (c.user, c.link_url)
         c.tweet = trim_to_tweet(tweet)
         if c.link_url and c.tweet:
             c.is_prepared = True
         self.response.out.write('tweet: %s' % c.tweet)
         c.put()
예제 #2
0
        # 3 is an arbitrary number,
        # we just ignore changesets that 3 times larger than bbox in config
        print "<br/>delta_lon: %f" % (max_lon - min_lon)
        print "<br/>delta_lat: %f" % (max_lat - min_lat)
        if ((max_lon - min_lon) > 3 * delta_o) or ((max_lat - min_lat) > 3 * delta_a):
            print "<br/>changeset BBOX is too large<br/>"
            # go to next element
            continue
        comment = None
        created_by = None
        tags = elem.findall('tag')
        for t in tags:
            if t.attrib['k'] == 'comment':
                comment = t.attrib['v']
            if t.attrib['k'] == 'created_by':
                created_by = t.attrib['v']
        if comment:
            print "<br/>comment: %s" % comment
        if created_by:
            print "<br/>created_by: %s" % created_by
        print "<br/>"
        c = Changeset(
            key_name=str(id),
            id=id,
            created_at=created_at,
            user=user,
            comment=comment,
            created_by=created_by)
        print c
        print trim_to_tweet(c.comment)