'Effectively "main" from Commandlinewrapper'

def __call__(self, argv):

    logConfig = None
    context = {}
    rendezvous = None
    try:
        (opts, args) = self.__coli_parser.parse_args(argv)
        if (opts.InConfig is None):
            raise ExploitConfigError('You    must    pass    a    valid    --InConfig    option')
        self.config = truantchild.Config([opts.InConfig])
        if (self.getID() != self.config.id):
            print 'Mismatching    configurations!!'
            return 1
        inputs = self.config._inputParams
        outputs = self.config._outputParams
        constants = None
        iOptions = self.tc2List(inputs)
        oOptions = self.tc2Dict(outputs)
        valid = self.validateParams(iOptions)
        if (opts.ValidateOnly is True):
            return 0
        (fhNo, logConfig) = self.processWrapperParams(opts)
        self.doRendezvousClient(inputs)
        retval = self.processParams(iOptions, constants, oOptions, context, logConfig)
        try:
            self.options2Tc(oOptions, outputs)
        except Exception as e:
            print str(oOptions)
            print 'Failed:    {0}'.format(e)
            return 1
        (rendezvous, sock) = self.addWrapperOutputParams(outputs, self.config.namespaceUri, self.config.schemaVersion)
        exma.writeParamsToEM(fhNo, self.config.getMarshalledInConfig())
        self.doRendezvousServer(rendezvous, sock)
        self.cleanup(EDF_CLEANUP_WAIT, context, logConfig)
    except Exception as e:
        print 'Failed:    {0}'.format(e)
        raise
