Ejemplo n.º 1
0
    def setup_output(self,
                     job_to_use=None,
                     output_type="hazard_map",
                     db_backed=True):
        """Create an output object of the given type.

        :param job_to_use: if set use the passed
            :py:class:`db.alchemy.models.OqJob` instance as opposed to
            creating a new one.
        :param str output_type: map type, one of "hazard_map", "loss_map"
        :param bool db_backed: initialize the property of the newly created
            :py:class:`db.alchemy.models.Output` instance with this value.
        :returns: a :py:class:`db.alchemy.models.Output` instance
        """
        job = job_to_use if job_to_use else self.setup_classic_job()
        output = Output(owner=job.owner,
                        oq_job=job,
                        output_type=output_type,
                        db_backed=db_backed)
        output.path = self.touch(
            dir=os.path.join(job.path, "computed_output"),
            suffix=".xml",
            prefix="hzrd." if output_type == "hazard_map" else "loss.")
        session = Session.get()
        session.add(output)
        session.commit()
        return output
Ejemplo n.º 2
0
    def setup_output(self, job_to_use=None, output_type="hazard_map",
                     db_backed=True):
        """Create an output object of the given type.

        :param job_to_use: if set use the passed
            :py:class:`db.alchemy.models.OqJob` instance as opposed to
            creating a new one.
        :param str output_type: map type, one of "hazard_map", "loss_map"
        :param bool db_backed: initialize the property of the newly created
            :py:class:`db.alchemy.models.Output` instance with this value.
        :returns: a :py:class:`db.alchemy.models.Output` instance
        """
        job = job_to_use if job_to_use else self.setup_classic_job()
        output = Output(owner=job.owner, oq_job=job, output_type=output_type,
                        db_backed=db_backed)
        output.path = self.generate_output_path(job, output_type)
        output.display_name = os.path.basename(output.path)
        session = get_uiapi_writer_session()
        session.add(output)
        session.commit()
        return output
Ejemplo n.º 3
0
    def setup_output(self, job_to_use=None, output_type="hazard_map", db_backed=True):
        """Create an output object of the given type.

        :param job_to_use: if set use the passed
            :py:class:`db.alchemy.models.OqJob` instance as opposed to
            creating a new one.
        :param str output_type: map type, one of "hazard_map", "loss_map"
        :param bool db_backed: initialize the property of the newly created
            :py:class:`db.alchemy.models.Output` instance with this value.
        :returns: a :py:class:`db.alchemy.models.Output` instance
        """
        job = job_to_use if job_to_use else self.setup_classic_job()
        output = Output(owner=job.owner, oq_job=job, output_type=output_type, db_backed=db_backed)
        output.path = self.touch(
            dir=os.path.join(job.path, "computed_output"),
            suffix=".xml",
            prefix="hzrd." if output_type == "hazard_map" else "loss.",
        )
        session = Session.get()
        session.add(output)
        session.commit()
        return output
Ejemplo n.º 4
0
 def insert_output(self):
     """Insert an `uiapi.output` record for the hazard map at hand."""
     logger.info("> insert_output")
     job = self.session.query(OqJob).filter(
         OqJob.id == self.oq_job_id).one()
     self.output = Output(owner=job.owner,
                          oq_job=job,
                          path=self.nrml_path,
                          output_type="hazard_map",
                          db_backed=True)
     self.session.add(self.output)
     self.session.commit()
     logger.info("output = '%s'" % self.output)
     logger.info("< insert_output")