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()