示例#1
0
 def node(self):
     if isinstance(self._data_desc, DataProcess):
         if self._data_desc.outcomes is not None and self._data_desc.outcomes.node:
             # that means that a data creation process has been registered and it has been
             # carried out
             return self._data_desc.outcomes.node
         elif self._data_desc.seed is not None:
             if isinstance(self._data_desc.seed, str):
                 node = self._dm.get_data(self._data_desc.seed)
                 self._data_desc.seed = Data(node)
                 return node
             elif isinstance(self._data_desc.seed, Data):
                 return self._data_desc.seed.node  # if data is raw, .node is None
             else:
                 return None
         else:
             return None
     elif self._node_name is None:
         # that means that a data creation process has been registered and will be
         # carried out by the framework through a callback
         return None
     else:
         if self._node is None:
             self._node = self._dm.get_data(self._node_name)
         return self._node
示例#2
0
 def __init__(self, data_desc=None, final=False, fbk_timeout=None, fbk_mode=None,
              set_periodic=None, clear_periodic=None, step_desc=None):
     Step.__init__(self, data_desc=Data(''), final=final,
                   fbk_timeout=fbk_timeout, fbk_mode=fbk_mode,
                   set_periodic=set_periodic, clear_periodic=clear_periodic,
                   step_desc=step_desc)
     self.make_blocked()
示例#3
0
    def generate_data(self, dm, monitor, target):
        self.pdf.set_current_conf('ALT', root_regexp='PDF.*leaf_0-0$')
        self.pdf.unfreeze()

        return Data(self.pdf)
示例#4
0
 def generate_data(self, dm, monitor, target):
     return Data(dm.get_data('PDF_xref_loop'))
示例#5
0
    def get_data(self):
        if self.node is not None:
            d = Data(self.node)
        else:
            # in this case a data creation process is provided to the framework through the
            # callback HOOK.before_sending
            d = Data('')
        if self._step_desc is None:
            if isinstance(self._data_desc, DataProcess):
                step_desc = 'generate ' + repr(self._data_desc)
            elif isinstance(self._data_desc, Data):
                step_desc = 'use provided Data(...)'
            else:
                assert isinstance(self._data_desc, str)
                d.add_info("instantiate a node '{:s}' from the model".format(
                    self._node_name))
            if self._periodic_data is not None:
                p_sz = len(self._periodic_data)
                d.add_info("set {:d} periodic{:s}".format(
                    p_sz, 's' if p_sz > 1 else ''))
            if self._periodic_data_to_remove is not None:
                p_sz = len(self._periodic_data_to_remove)
                d.add_info("clear {:d} periodic{:s}".format(
                    p_sz, 's' if p_sz > 1 else ''))
        else:
            d.add_info(self._step_desc)

        if self.is_blocked():
            d.make_blocked()
        if self._feedback_timeout is not None:
            d.feedback_timeout = self._feedback_timeout

        return d
示例#6
0
    def get_data(self):
        if self.node is not None:
            d = Data(self.node)
        else:
            # in this case a data creation process is provided to the framework through the
            # callback HOOK.before_sending
            d = Data('')
        if self._step_desc is None:
            if isinstance(self._data_desc, DataProcess):
                step_desc = 'generate ' + repr(self._data_desc)
            elif isinstance(self._data_desc, Data):
                step_desc = 'use provided Data(...)'
            else:
                assert isinstance(self._data_desc, str)
                d.add_info("instantiate a node '{:s}' from the model".format(self._node_name))
            if self._periodic_data is not None:
                p_sz = len(self._periodic_data)
                d.add_info("set {:d} periodic{:s}".format(p_sz, 's' if p_sz > 1 else ''))
            if self._periodic_data_to_remove is not None:
                p_sz = len(self._periodic_data_to_remove)
                d.add_info("clear {:d} periodic{:s}".format(p_sz, 's' if p_sz > 1 else ''))
        else:
            d.add_info(self._step_desc)

        if self.is_blocked():
            d.make_blocked()
        if self._feedback_timeout is not None:
            d.feedback_timeout = self._feedback_timeout

        return d