def post(self): topic2= self.request.get("topic2") topics_query = SparkSpectralTopic.all() topics_query.filter("topic =", topic2) logging.warning("working on " + self.request.get("topic2")) new_topic = self.request.get("new_topic") if (topics_query.count() >0 ): topics= topics_query.fetch(1) for t in topics: logging.info("now enriching topic " + t.topic ) if t.topic_uri != None: logging.info("(topic uri: " + topic.topic_uri + " )") else: logging.info("now going to dbpedia spotlight") uri= self.getDBPediaURI(t.topic) if uri != "": logging.info("dbpedia lookup result= " + uri) self.response.out.write("dbpedia lookup result= " + uri) t.topic_uri= uri t.put() else: logging.info("dbpedia lookup failed: no resource uri failed") self.response.out.write("dbpedia lookup failed: no resource uri failed") else: logging.error("no topics found for " + self.request.get("topic2"))
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