Esempio n. 1
0
    def test_xls_export(self):
        """Ensures exported XLS data matches source data"""
        qs_filter = { "pk__in": [x.pk for x in self.snapshots] }
        qs = BuildingSnapshot.objects.filter(**qs_filter)

        fields = list(_get_fields_from_queryset(qs))
        fields.append("canonical_building__id")

        export_filename = export_xls(qs, fields)
        export_file = xlrd.open_workbook(export_filename)
        worksheet = export_file.sheet_by_name(export_file.sheet_names()[0])

        self.assertEqual(worksheet.cell_value(0, len(fields)-1), 'ID')

        for i in range(len(self.snapshots)):
            for j in range(len(fields)):
                field = fields[j]
                components = field.split("__")
                qs_val = qs[i]
                for component in components:
                    qs_val = getattr(qs_val, component)
                    if qs_val == None:
                        break
                if isinstance(qs_val, Manager) or qs_val == None: qs_val = u''
                else: qs_val = unicode(qs_val)
                xls_val = worksheet.cell_value(i + 1, j)
                self.assertEqual(qs_val, xls_val)
Esempio n. 2
0
    def test_csv_export(self):
        """Ensures exported CSV data matches source data"""
        qs_filter = {"pk__in": [x.pk for x in self.snapshots]}
        qs = BuildingSnapshot.objects.filter(**qs_filter)

        fields = list(_get_fields_from_queryset(qs))
        fields.append("canonical_building__id")

        export_filename = export_csv(qs, fields)
        export_file = open(export_filename)

        reader = csv.reader(export_file)
        header = reader.next()

        self.assertEqual(header[len(fields) - 1], 'ID')

        for i in range(len(self.snapshots)):
            row = reader.next()
            for j in range(len(fields)):
                field = fields[j]
                components = field.split("__")
                qs_val = qs[i]
                for component in components:
                    qs_val = getattr(qs_val, component)
                    if qs_val == None:
                        break
                if isinstance(qs_val, Manager) or qs_val == None: qs_val = u''
                else: qs_val = unicode(qs_val)
                csv_val = row[j]
                self.assertEqual(qs_val, csv_val)

        export_file.close()
        os.remove(export_filename)
Esempio n. 3
0
    def test_csv_export(self):
        """Ensures exported CSV data matches source data"""
        qs_filter = { "pk__in": [x.pk for x in self.snapshots] }
        qs = BuildingSnapshot.objects.filter(**qs_filter)

        fields = list(_get_fields_from_queryset(qs))
        fields.append("canonical_building__id")

        export_filename = export_csv(qs, fields)
        export_file = open(export_filename)

        reader = csv.reader(export_file)
        header = reader.next()

        self.assertEqual(header[len(fields)-1], 'ID')

        for i in range(len(self.snapshots)):
            row = reader.next()
            for j in range(len(fields)):
                field = fields[j]
                components = field.split("__")
                qs_val = qs[i]
                for component in components:
                    qs_val = getattr(qs_val, component)
                    if qs_val == None:
                        break
                if isinstance(qs_val, Manager) or qs_val == None: qs_val = u''
                else: qs_val = unicode(qs_val)
                csv_val = row[j]
                self.assertEqual(qs_val, csv_val)

        export_file.close()
        os.remove(export_filename)
Esempio n. 4
0
    def test_xls_export(self):
        """Ensures exported XLS data matches source data"""
        qs_filter = {"pk__in": [x.pk for x in self.snapshots]}
        qs = BuildingSnapshot.objects.filter(**qs_filter)

        fields = list(_get_fields_from_queryset(qs))
        fields.append("canonical_building__id")

        export_filename = export_xls(qs, fields)
        export_file = xlrd.open_workbook(export_filename)
        worksheet = export_file.sheet_by_name(export_file.sheet_names()[0])

        self.assertEqual(worksheet.cell_value(0, len(fields) - 1), 'ID')

        for i in range(len(self.snapshots)):
            for j in range(len(fields)):
                field = fields[j]
                components = field.split("__")
                qs_val = qs[i]
                for component in components:
                    qs_val = getattr(qs_val, component)
                    if qs_val == None:
                        break
                if isinstance(qs_val, Manager) or qs_val == None: qs_val = u''
                else: qs_val = unicode(qs_val)
                xls_val = worksheet.cell_value(i + 1, j)
                self.assertEqual(qs_val, xls_val)