Exemple #1
0
    def testAttrs(self):
        self.db.reset()
        with self.db.transaction() as tr:
            data = dict(rep_memo="synop",
                        lat=0.0,
                        lon=0.0,
                        ident="#000000",
                        level=(103, 2000),
                        trange=(254, 0, 0),
                        datetime=datetime.datetime(1005, 1, 1, 1, 1, 0),
                        B12101=270.96)
            ids = tr.insert_data(data, False, True)
            attrs = {}
            attrs["B33209"] = 98
            tr.attr_insert_data(ids["B12101"], attrs)

            data.update(rep_memo="synop",
                        lat=0.0,
                        lon=0.0,
                        ident="#000000",
                        level=(103, 2000),
                        trange=(254, 0, 0),
                        datetime=datetime.datetime(1005, 1, 1, 1, 1, 1),
                        B12101=271.96)
            ids = tr.insert_data(data, False, True)
            attrs = {}
            attrs["B33209"] = 100
            tr.attr_insert_data(ids["B12101"], attrs)

            out = io.StringIO()
            dbacsv.export(tr, {}, out)

            lines = out.getvalue().splitlines()
            self.assertEqual(lines[2], "1005-01-01 01:01:00,270.96,98")
            self.assertEqual(lines[3], "1005-01-01 01:01:01,271.96,100")
Exemple #2
0
 def export(self, format, out):
     """
     Export the currently selected data to out.
     """
     if format in ("bufr", "crex"):
         with self.read_transaction() as tr:
             tr.export_to_file(self.filter.to_record(), format.upper(), out)
     elif format == "csv":
         with self.read_transaction() as tr:
             dbacsv.export(tr, self.filter.to_record(), out)
Exemple #3
0
    def testExport(self):
        query = dballe.Record()
        #query["rep_memo"] = "synop"
        out = io.StringIO()
        dbacsv.export(self.db, query, out)

        lines = out.getvalue().splitlines()
        self.assertEqual(lines[0],
                          "Station B01001: 12; Station B01002: 123; Station B01019: Test of long station name,,,,,,,,,,,,,,,")
        self.assertEqual(lines[1],
                          "Station,Latitude,Longitude,Network,Datetime,Level1,L1,Level2,L2,Time range,P1,P2,Variable,Value,Attr B33007,Attr B33040")
        self.assertEqual(lines[2],
                         "1,10.0,15.0,temp,2006-12-31 23:53:12,3,2,-,-,4,-21600,0,B13011,3.0,,17")
Exemple #4
0
    def testExport(self):
        # query["rep_memo"] = "synop"
        out = io.StringIO()
        with self.db.transaction() as tr:
            dbacsv.export(tr, {}, out)

        lines = out.getvalue().splitlines()
        self.assertEqual(
            lines[0],
            "Station B01001: 12; Station B01002: 123; Station B01019: Test of long station name,,,,,,,,,,,,,,,"
        )
        self.assertEqual(
            lines[1],
            "Station,Latitude,Longitude,Network,Datetime,Level1,L1,Level2,L2,Time range,P1,P2,Variable,Value,Attr B33007,Attr B33040"
        )
        self.assertEqual(
            lines[2],
            "1,10.00000,15.00000,synop,2006-12-31 23:57:09,3,2,-,-,4,-21600,0,B13011,3.8,69,"
        )
Exemple #5
0
    def testAttrs(self):
        self.db.reset()
        data = dballe.Record()
        data.update(
            rep_memo="synop",
            lat=0.0, lon=0.0,
            ident="#000000",
            level=(103, 2000),
            trange=(254, 0, 0),
            datetime=datetime.datetime(1005, 1, 1, 1, 1, 0),
            B12101=270.96)
        ids = self.db.insert_data(data, False, True)
        attrs = dballe.Record()
        attrs["B33209"] = 98
        self.db.attr_insert_data(ids["B12101"], attrs)

        data.update(
            rep_memo="synop",
            lat=0.0, lon=0.0,
            ident="#000000",
            level=(103, 2000),
            trange=(254, 0, 0),
            datetime=datetime.datetime(1005, 1, 1, 1, 1, 1),
            B12101=271.96)
        ids = self.db.insert_data(data, False, True)
        attrs = dballe.Record()
        attrs["B33209"] = 100
        self.db.attr_insert_data(ids["B12101"], attrs)

        query = dballe.Record()
        out = io.StringIO()
        dbacsv.export(self.db, query, out)

        lines = out.getvalue().splitlines()
        self.assertEqual(lines[2], "1005-01-01 01:01:00,270.96,98")
        self.assertEqual(lines[3], "1005-01-01 01:01:01,271.96,100")