def test_get_topic_similarities_as_csv(self): # The splitlines() is needed because a carriage return is added in # the returned string self.assertEqual( recommendations_services.get_topic_similarities_as_csv(). splitlines(), self.TOPIC_SIMILARITIES_DEFAULT.splitlines()) recommendations_services.update_topic_similarities( 'Art,Biology,Chemistry\n' '1.0,0.2,0.1\n' '0.2,1.0,0.8\n' '0.1,0.8,1.0') self.assertEqual( recommendations_services.get_topic_similarities_as_csv(). splitlines(), self.TOPIC_SIMILARITIES_UPDATED.splitlines())
def test_get_topic_similarities_as_csv(self): # The splitlines() is needed because a carriage return is added in # the returned string self.assertEqual( recommendations_services.get_topic_similarities_as_csv().splitlines(), self.TOPIC_SIMILARITIES_DEFAULT.splitlines()) recommendations_services.update_topic_similarities( 'Art,Biology,Chemistry\n' '1.0,0.2,0.1\n' '0.2,1.0,0.8\n' '0.1,0.8,1.0') self.assertEqual( recommendations_services.get_topic_similarities_as_csv().splitlines(), self.TOPIC_SIMILARITIES_UPDATED.splitlines())
def get(self): topic_similarities = ( recommendations_services.get_topic_similarities_as_csv()) # Downloadable file accepts only bytes, so we need to encode # topic_similarities to bytes. self.render_downloadable_file( io.BytesIO(topic_similarities.encode('utf-8')), 'topic_similarities.csv', 'text/csv')
def get(self): self.render_downloadable_file( recommendations_services.get_topic_similarities_as_csv(), 'topic_similarities.csv', 'text/csv')
def get(self): self.response.headers['Content-Type'] = 'text/csv' self.response.headers['Content-Disposition'] = ( 'attachment; filename=topic_similarities.csv') self.response.write( recommendations_services.get_topic_similarities_as_csv())