def get_topic(core, topic_id): url = get_url(core) + PersonalizedStream.TOPIC_PATH.format(Topic.generate_urn(core, topic_id)) headers = get_lf_token_header(core) response = requests.get(url, headers = headers) data = evaluate_response(response)['data'] return Topic.serialize_from_json(data['topic']) if 'topic' in data else None
def get_topics(core, limit=100, offset=0): url = get_url(core) + PersonalizedStream.MULTIPLE_TOPIC_PATH.format(core.urn) headers = get_lf_token_header(core) response = requests.get(url, params = {'limit': limit, 'offset': offset}, headers = headers) data = evaluate_response(response)['data'] return [Topic.serialize_from_json(x) for x in data['topics']] if 'topics' in data else []
def test_func(self): topic = Topic(self.ID, self.LABEL, self.CREATED_AT, self.MODIFIED_AT) self.assertEqual(self.DICT, topic.to_dict()) topic2 = Topic.serialize_from_json(self.DICT) self.assertEqual(self.ID, topic2.topic_id) self.assertEqual(self.LABEL, topic2.label) self.assertEqual(self.CREATED_AT, topic2.created_at) self.assertEqual(self.MODIFIED_AT, topic2.modified_at) topic3 = json.dumps(topic2) self.assertEqual(json.dumps(self.DICT), topic3) topic = topic.create(Livefyre.get_network(self.NETWORK_NAME, self.NETWORK_KEY), "ID", "LABEL") self.assertEqual(topic.truncated_id, "ID")