All pastes #467101 Raw Edit

gjc

public text v1 · immutable
·published 2007-05-02 10:04 UTC
rendered paste body
	def fun(self):		cmd_tmpl = ''.join(self.out)		params = self.params		def f(task):			env = task.m_env			p = env.get_flat			alst=[]			for (name, meth) in params:				if name == 'SRC':					if meth:						alst.append(getattr(task, 'm_inputs%s' % meth))					else:						alst.append(" ".join([a.srcpath(env) for a in task.m_inputs]))				elif name == 'TGT':					if meth:						alst.append(getattr(task, 'm_outputs%s' % meth))					else:						alst.append(" ".join([a.bldpath(env) for a in task.m_outputs]))				else:					self.m_vars.append(name)					alst.append(p(name))			if alst:				try:					cmd = cmd_tmpl % tuple(alst)				except Exception:					task.debug()					raise			else:				cmd = cmd_tmpl			return Runner.exec_command(cmd)		return f