def create_or_get_topic(self, user_obj, topic_name): q = SparkSpectralTopic.all() q.filter("topic =", topic_name) if (q.count() >0): topic= q.fetch(1) topic_obj= topic[0] else: topic_obj= SparkSpectralTopic(topic= topic_name) topic_obj.put() taskqueue.add(url="/enrichtopic",params={'topic2': topic_obj.topic, 'new_topic': True}) q2= UserTopicRelation.all() q2.filter("topic_ref =", topic_obj) q2.filter("user_ref =", user_obj) if (q2.count() >0 ): logging.info("UserTopicRelation found " + user_obj.user_name + " / " + topic_obj.topic) else: rel= UserTopicRelation(topic_ref= topic_obj, user_ref= user_obj, weight=100) rel.put() logging.info("UserTopicRelation created" + topic_obj.topic + " / " + user_obj.user_name ) return topic_obj