Exemple #1
0
    def test_content_disposition(self):
        value = make_content_disposition_header('inline', u'EURO rates.txt')
        self.assertIn('inline', value)
        self.assertIn('EURO rates', value)
        self.assertNotIn('filename*', value)

        value = make_content_disposition_header('inline', u'"EURO" rates.txt')
        self.assertIn(r'filename="\"EURO\" rates.txt"', value)

        value = make_content_disposition_header('attachment', u'€ rates.txt')
        self.assertEqual(value.lower(),
                'attachment; filename="rates.txt"; '
                'filename*=utf-8\'\'%e2%82%ac%20rates.txt')
Exemple #2
0
    def test_content_disposition(self):
        value = make_content_disposition_header('inline', u'EURO rates.txt')
        self.assertIn('inline', value)
        self.assertIn('EURO rates', value)
        self.assertNotIn('filename*', value)

        value = make_content_disposition_header('inline', u'"EURO" rates.txt')
        self.assertIn(r'filename="\"EURO\" rates.txt"', value)

        value = make_content_disposition_header('attachment', u'€ rates.txt')
        self.assertEqual(
            value.lower(), 'attachment; filename="rates.txt"; '
            'filename*=utf-8\'\'%e2%82%ac%20rates.txt')
Exemple #3
0
    def render_ranking_to_csv(self, request, partial_key):
        key = self.get_full_key(request, partial_key)
        data = self.serialize_ranking(key)

        response = HttpResponse(content_type='text/csv')
        response['Content-Disposition'] = \
                make_content_disposition_header('attachment',
                    u'%s-%s-%s.csv' % (_("ranking"), self.contest.id, key))
        writer = unicodecsv.writer(response)

        writer.writerow(list(map(force_text, self._get_csv_header(key, data))))
        for row in data['rows']:
            writer.writerow(list(map(force_text, self._get_csv_row(key, row))))

        return response
Exemple #4
0
    def render_ranking_to_csv(self, request, key):
        data = self.serialize_ranking(request, key)

        response = HttpResponse(content_type='text/csv')
        response['Content-Disposition'] = \
                make_content_disposition_header('attachment',
                    u'%s-%s-%s.csv' % (_("ranking"), request.contest.id, key))
        writer = unicodecsv.writer(response)

        writer.writerow(map(force_unicode,
                        self._get_csv_header(request, data)))
        for row in data['rows']:
            writer.writerow(map(force_unicode,
                            self._get_csv_row(request, row)))

        return response