コード例 #1
0
ファイル: adapter.py プロジェクト: ncorona/notredam
        self.item.update_time = time.time()
        self.item.save()

        self.deferred.callback(self.out_file)

    def handle_error(self, result):
        self.deferred.errback(Failure(Exception(result.getErrorMessage())))

    def execute(self, output_variant_name, output_type, **params):
        # get basic data (avoid creating stuff in DB)
        try:
            self.get_cmdline(output_variant_name, output_type, **params)
            output_variant = Variant.objects.get(name=output_variant_name)
            self.out_comp = self.item.create_variant(output_variant,
                                                     self.workspace,
                                                     self.out_type)
            self.out_comp.source = self.source
            args = splitstring(self.cmdline)
        except Exception, e:
            log.error('Error in %s: %s %s' %
                      (self.__class__.__name__, type(e), str(e)))
            self.deferred.errback(e)
        else:
            if self.fake:
                log.debug('######### Command line:\n%s' % str(args))
            else:
                proxy = Proxy(self.md_server)
                d = proxy.call(self.remote_exe, args, self.env)
                d.addCallbacks(self.handle_result, self.handle_error)
        return self.deferred  # if executed stand alone
コード例 #2
0
ファイル: analyzer.py プロジェクト: mlclemente/notredam
    def handle_result(self, result, *args):
        #log.debug('= handle_result %s' % str(result)[:128])
        try:
            return_value = self.parse_stdout(result['data'], *args)
            self.deferred.callback(return_value)
        except Exception, e:
            log.error('Error in %s: %s %s' % (self.__class__.__name__, type(e), str(e)))
            self.deferred.errback(e)
        
    def handle_error(self, result):
        self.deferred.errback(Failure(Exception(result.getErrorMessage())))

    def execute(self, **params):     
        # get basic data (avoid creating stuff in DB)
        try:
            self.get_cmdline(**params)
            args = splitstring(self.cmdline)
        except Exception, e:
            log.error('Error in %s: %s %s' % (self.__class__.__name__, type(e), str(e)))
            self.deferred.errback(e)
        else:
            if self.fake:
                log.debug('######### Command line:\n%s' % str(args))
            else:
                proxy = Proxy(self.md_server)
                d = proxy.call(self.remote_exe, args, self.env)
                d.addCallbacks(self.handle_result, self.handle_error, callbackArgs=self.cb_args)
        return self.deferred    # if executed stand alone