def _update_extra_inputs(self, p):
if p.extra_input:<EOL><INDENT>logger.debug("<STR_LIT>".format(<EOL>p.template, p.extra_input))<EOL>if p.extra_input == "<STR_LIT:default>":<EOL><INDENT>if p.input_type in self.main_raw_inputs:<EOL><INDENT>logger.error(colored_print(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>".format(p.input_type, p.template), "<STR_LIT>"))<EOL>sys.exit(<NUM_LIT:1>)<EOL><DEDENT>param = p.input_type<EOL><DEDENT>else:<EOL><INDENT>param = p.extra_input<EOL><DEDENT>dest_channel = "<STR_LIT>".format(p.template, p.pid)<EOL>if param not in self.extra_inputs:<EOL><INDENT>self.extra_inputs[param] = {<EOL>"<STR_LIT>": p.input_type,<EOL>"<STR_LIT>": [dest_channel]<EOL>}<EOL><DEDENT>else:<EOL><INDENT>if self.extra_inputs[param]["<STR_LIT>"] != p.input_type:<EOL><INDENT>logger.error(colored_print(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>".format(<EOL>p.input_type, p.template,<EOL>self.extra_inputs[param]["<STR_LIT>"]),<EOL>"<STR_LIT>"))<EOL>sys.exit(<NUM_LIT:1>)<EOL><DEDENT>self.extra_inputs[param]["<STR_LIT>"].append(dest_channel)<EOL><DEDENT>logger.debug("<STR_LIT>"<EOL>"<STR_LIT>".format(p.template, param,<EOL>self.extra_inputs[param]))<EOL>p.update_main_input(<EOL>"<STR_LIT>".format(p.input_channel, dest_channel)<EOL>)<EOL><DEDENT>
Given a process, this method updates the
        :attr:`~Process.extra_inputs` attribute with the corresponding extra
        inputs of that process

        Parameters
        ----------
        p : flowcraft.Process.Process