Example #1
0
    def build_database(self):
        metadata.drop_all(self._session.connection())
        metadata.create_all(self._session.connection())

        for p in self.config.participants:
            pobj = Participant(id=p.id, name=p.name, color=p.color)
            self.session.merge(pobj)

        for l in self.config.levels:
            lobj = Level(id=l.id,
                         name=l.name,
                         geometry=l.geometry,
                         zoom=l.zoom)
            self.session.merge(lobj)

            for d in l.datasources:
                ds = DATASOURCE_BY_NAME[d.type](config=d, **d.data)
                for obj in ds.read():
                    self._session.merge(obj)

        for r in self.session.query(Result):
            r.update_vote_persent()

        Result.update_calc_fields(self.session)

        self._session.commit()
Example #2
0
    def build_database(self):
        metadata.drop_all(self._session.connection())
        metadata.create_all(self._session.connection())

        for p in self.config.participants:
            pobj = Participant(id=p.id, name=p.name, color=p.color)
            self.session.merge(pobj)

        for l in self.config.levels:
            lobj = Level(
                id=l.id, name=l.name,
                geometry=l.geometry, zoom=l.zoom
            )
            self.session.merge(lobj)

            for d in l.datasources:
                ds = DATASOURCE_BY_NAME[d.type](config=d, **d.data)
                for obj in ds.read():
                    self._session.merge(obj)

        for r in self.session.query(Result):
            r.update_vote_persent()

        Result.update_calc_fields(self.session)

        self._session.commit()