Пример #1
0
    def create_driving_dataset(self, driving_dataset_id, results, locations, model_run_service, land_cover_service):

        """
        Create a driving dataset object from a results dictionary
        :param driving_dataset_id: id of the driving dataset to edit (None for create new)
        :param locations: locations list to use
        :param results: the results
        :param model_run_service: model run service
        :param land_cover_service: land cover service
        :return: nothing
        """

        with self.transaction_scope() as session:
            if driving_dataset_id is None:
                driving_dataset = DrivingDataset()
                session.add(driving_dataset)
            else:
                session\
                    .query(DrivingDatasetParameterValue)\
                    .filter(DrivingDatasetParameterValue.driving_dataset_id == driving_dataset_id)\
                    .delete()
                session\
                    .query(DrivingDatasetLocation)\
                    .filter(DrivingDatasetLocation.driving_dataset_id == driving_dataset_id)\
                    .delete()
                driving_dataset = self._get_driving_dataset_by_id_in_session(driving_dataset_id, session)

            driving_dataset_jules_params = DrivingDatasetJulesParams()

            driving_dataset_jules_params.update_driving_dataset_from_dict(
                driving_dataset,
                session,
                model_run_service,
                land_cover_service,
                results,
                locations)