Ejemplo n.º 1
0
    def new_record(self, parameters={}, input_data=[], script_args="",
                   executable='default', repository='default',
                   main_file='default', version='current', launch_mode='default',
                   diff='', label=None, reason=None, timestamp_format='default'):
        logger.debug("Creating new record")
        if executable == 'default':
            executable = deepcopy(self.default_executable)
        if repository == 'default':
            repository = deepcopy(self.default_repository)
        if main_file == 'default':
            main_file = self.default_main_file
        if launch_mode == 'default':
            launch_mode = deepcopy(self.default_launch_mode)
        if timestamp_format == 'default':
            timestamp_format = self.timestamp_format
        working_copy = repository.get_working_copy()
        version, diff = self.update_code(working_copy, version, diff)
        if label is None:
            label = LABEL_GENERATORS[self.label_generator]()
        record = Record(executable, repository, main_file, version, launch_mode,
                        self.data_store, parameters, input_data, script_args,
                        label=label, reason=reason, diff=diff,
                        on_changed=self.on_changed,
                        input_datastore=self.input_datastore,
                        timestamp_format=timestamp_format)

        self.add_record(record)

        if not isinstance(executable, programs.MatlabExecutable):
            record.register(working_copy)

        return record
Ejemplo n.º 2
0
 def new_record(self, parameters={}, input_data=[], script_args="",
                executable='default', repository='default',
                main_file='default', version='current', launch_mode='default',
                label=None, reason=None, timestamp_format='default'):
     logger.debug("Creating new record")
     if executable == 'default':
         executable = deepcopy(self.default_executable)
     if repository == 'default':
         repository = deepcopy(self.default_repository)
     if main_file == 'default':
         main_file = self.default_main_file
     if launch_mode == 'default':
         launch_mode = deepcopy(self.default_launch_mode)
     if timestamp_format == 'default':
         timestamp_format = self.timestamp_format
     working_copy = repository.get_working_copy()
     version, diff = self.update_code(working_copy, version)
     if label is None:
         label = LABEL_GENERATORS[self.label_generator]()
     record = Record(executable, repository, main_file, version, launch_mode,
                     self.data_store, parameters, input_data, script_args,
                     label=label, reason=reason, diff=diff,
                     on_changed=self.on_changed,
                     input_datastore=self.input_datastore,
                     timestamp_format=timestamp_format)
     if not isinstance(executable, programs.MatlabExecutable):
         record.register(working_copy)
     return record