Exemple #1
0
def process(event, host, port, db, collection):
    connect(db, host=host, port=int(port))

    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_secret)

    meta_info = MetaInfo.objects(key='news_tweets_meta').first()
    last_tweet_id = None if not meta_info else meta_info.value['toi']

    for news_handle in news_handles:
        tweets = tweepy.API(auth).user_timeline(screen_name=news_handle,
                                                since_id=last_tweet_id,
                                                count=50)
        last_tweet_id = None
        for tweet in tweets:
            tweet = tweet._json
            tweet = process_tweet(tweet)
            if not tweet:
                continue

            if not last_tweet_id:
                last_tweet_id = tweet.get('id')

            status = save_tweet(tweet, host, port, db, collection)
            if status:
                print 'Tweet with id %d saved' % tweet.get('id')
            else:
                print 'Error while saving tweet %d ' % tweet.get('id')

    if last_tweet_id:
        obj = MetaInfo.objects(key='news_tweets_meta')
        obj.update_one(set__value__toi=last_tweet_id, upsert=True)
def add_meta_info_fields_to_sender_form(sender, initial):
    form = sender
    form.fields['meta_description'] = london.forms.TextField(name='meta_description', widget=LetterCounterTextarea(maximum=160), required=False)
    form.fields['meta_keywords'] = london.forms.TextField(name='meta_keywords', widget=LetterCounterTextarea(maximum=160), required=False)
    
    meta_obj = None
    try:
        meta_obj = MetaInfo.query().get(owner=form.instance)
    except:
        pass
    
    if meta_obj:
        initial['meta_description'] = meta_obj['meta_description']
        initial['meta_keywords'] = meta_obj['meta_keywords']    
 def _meta_description_for(self, obj, caller):
     try:
         return MetaInfo.query().get(owner=obj)['meta_description'] or ''
     except MetaInfo.DoesNotExist:
         return ''
 def _meta_keywords_for(self, obj, caller):
     try:
         return MetaInfo.query().get(owner=obj)['meta_keywords'] or ''
     except MetaInfo.DoesNotExist:
         return ''
def save_meta_info_from_sender_form(sender):
    new_meta_obj, new = MetaInfo.query().get_or_create(owner=sender.instance)
    new_meta_obj['meta_keywords']=sender.cleaned_data['meta_keywords']
    new_meta_obj['meta_description']=sender.cleaned_data['meta_description']
    new_meta_obj.save()