コード例 #1
0
ファイル: net.py プロジェクト: sylane/feat
 def errback(fail):
     self.log(
         "_setup_with_client failed with the error: %r. "
         "Hopefully we will get this right after the next "
         "reconnection.",
         error.get_failure_message(fail),
     )
コード例 #2
0
ファイル: fiber.py プロジェクト: pepribas/F3AT
def print_trace(_param, _template="", *args):
    postfix = repr(_param)
    if isinstance(_param, failure.Failure):
        postfix = "%r %s" % (_param, error.get_failure_message(_param))
    prefix = _template % args
    prefix = prefix + ": " if prefix else prefix
    print "%s%s" % (prefix, postfix)
    return _param
コード例 #3
0
ファイル: fiber.py プロジェクト: pepribas/F3AT
def trace(_param, _template="", *args):
    postfix = repr(_param)
    if isinstance(_param, failure.Failure):
        postfix = "%r %s" % (_param, error.get_failure_message(_param))
    prefix = _template % args
    prefix = prefix + ": " if prefix else prefix
    message = "%s%s" % (prefix, postfix)
    log.logex("fiber", LogLevel.debug, message, log_name="trace")
    return _param
コード例 #4
0
ファイル: bootstrap.py プロジェクト: f3at/feat
def _bootstrap_failure(fail, agency, queue=None):
    error.handle_failure(agency, fail, 'Agency bootstrap failed, exiting.')
    reason = error.get_failure_message(fail)
    if queue:
        queue.put((1, reason))

    global _exit_code
    _exit_code = 1
    agency.kill(stop_process=True)
コード例 #5
0
ファイル: host_agent.py プロジェクト: zaheerm/feat
 def _spawn_agent_failed(self, state, fail, desc, alert_name=None):
     error.handle_failure(self, fail, "Spawning agent failed! " "I will remove the descriptor.")
     if alert_name:
         self.info("raising alert %s", alert_name)
         self.raise_alert(alert_name, error.get_failure_message(fail))
     f = self.get_document(desc.doc_id)
     f.add_callback(self.delete_document)
     f.add_both(fiber.override_result, None)
     return f
コード例 #6
0
ファイル: host_agent.py プロジェクト: f3at/feat
 def _spawn_agent_failed(self, state, fail, desc, alert_name=None):
     error.handle_failure(self, fail,
                          "Spawning agent failed! "
                          "Agent type: %s, agent id: %s. "
                          "I will remove the descriptor.",
                          desc.type_name, desc.doc_id)
     if alert_name:
         self.info('Raising alert %s', alert_name)
         self.raise_alert(alert_name, error.get_failure_message(fail),
                          severity=alert.Severity.critical)
     f = self.update_document(desc, update.delete)
     f.add_callback(fiber.override_result, None)
     f.add_errback(self._delete_descriptor_failed)
     return f
コード例 #7
0
ファイル: integrity_agent.py プロジェクト: f3at/feat
    def _solve_err(self, state, fail):
        if fail.check(conflicts.UnsolvableConflict):
            doc = fail.value.doc
            if IDocument.providedBy(doc):
                doc_id = doc.doc_id
            else:
                doc_id = doc['_id']

            state.unsolvable_conflicts.add(doc_id)
            self.warning('Cannot solve conflict for document id: %s. '
                         'Reason: %s', doc_id, fail.value)

            self.raise_alert(ALERT_NAME, ', '.join(state.unsolvable_conflicts))
        else:
            error.handle_failure(self, fail, 'Failed solving conflict.')
            msg = error.get_failure_message(fail)
            self.raise_alert(ALERT_NAME, msg, severity=alert.Severity.critical)
コード例 #8
0
ファイル: resources.py プロジェクト: sylane/feat
    def from_failure(cls, failure):
        ex = failure.value
        if isinstance(ex, http.HTTPError):
            code = ex.status_code
        elif isinstance(ex, error.FeatError):
            code = ex.eror_code
        else:
            code = None

        if isinstance(ex, error.FeatError):
            message = ex.error_name
        else:
            message = failure.getErrorMessage()

        if not message:
            message = type(ex).__name__

        debug = error.get_failure_message(failure)
        trace = error.get_failure_traceback(failure)

        return cls(code=code, message=message, debug=debug, trace=trace)
コード例 #9
0
ファイル: common.py プロジェクト: sylane/feat
    def _create_expired_error(self, msg):

        def get_type_name(obj):
            return obj.type_name if obj is not None else "unknown"

        cause = None

        if isinstance(msg, failure.Failure):
            cause = msg
            msg = error.get_failure_message(msg)
        elif msg is not None:
            msg = str(msg)

        factory = self.factory
        pname = factory.type_name if factory is not None else "unknown"
        agent = self.agent.get_agent() if self.agent is not None else None
        aname = agent.descriptor_type if agent is not None else "unknown"

        error_msg = "%s's %s protocol expired" % (aname, pname)
        if msg is not None:
            error_msg += ": %s" % (msg, )

        return ProtocolExpired(error_msg, cause=cause)
コード例 #10
0
ファイル: journal.py プロジェクト: f3at/feattool
 def _connect_error_handler(self, fail):
     self._reader = None
     error.handle_failure(self, fail, "Failed connecting.")
     msg = error.get_failure_message(fail)
     self.controller.display_error(msg)