示例#1
0
    def insert_rows_from_pg(self, model, columns, transformer=None):
        table_dumper = TableDumper(model, columns, transformer)

        with tempfile.NamedTemporaryFile() as f:
            table_dumper.dump_to_file(f)
            f.seek(0)
            self.insert_rows_from_csv(f.name)
示例#2
0
    def test_dump_to_file_without_transformer(self):
        dumper = TableDumper(PCT, ["code", "name"])

        with tempfile.TemporaryFile("w+t") as f:
            dumper.dump_to_file(f)
            f.seek(0)
            records = list(csv.reader(f))

        self.assertEqual(records, [["ABC", "CCG 1"], ["XYZ", "CCG 2"]])
示例#3
0
    def test_dump_to_file_without_transformer(self):
        dumper = TableDumper(PCT, ['code', 'name'])

        with tempfile.TemporaryFile() as f:
            dumper.dump_to_file(f)
            f.seek(0)
            records = list(csv.reader(f))

        self.assertEqual(records, [['ABC', 'CCG 1'], ['XYZ', 'CCG 2']])
示例#4
0
    def test_dump_to_file_with_transformer(self):
        def transformer(row):
            return [row[0][::-1], row[1].lower()]

        dumper = TableDumper(PCT, ["code", "name"], transformer)

        with tempfile.TemporaryFile("w+t") as f:
            dumper.dump_to_file(f)
            f.seek(0)
            records = list(csv.reader(f))

        self.assertEqual(records, [["CBA", "ccg 1"], ["ZYX", "ccg 2"]])
示例#5
0
    def test_dump_to_file_with_transformer(self):
        def transformer(row):
            return [row[0][::-1], row[1].lower()]

        dumper = TableDumper(PCT, ['code', 'name'], transformer)

        with tempfile.TemporaryFile() as f:
            dumper.dump_to_file(f)
            f.seek(0)
            records = list(csv.reader(f))

        self.assertEqual(records, [['CBA', 'ccg 1'], ['ZYX', 'ccg 2']])
示例#6
0
    def insert_rows_from_pg(self,
                            model,
                            schema,
                            columns=None,
                            transformer=None):
        if columns is None:
            columns = [field.name for field in schema]
        table_dumper = TableDumper(model, columns, transformer)

        with tempfile.NamedTemporaryFile("w+t") as f:
            table_dumper.dump_to_file(f)
            f.seek(0)
            self.insert_rows_from_csv(f.name, schema)