コード例 #1
0
 def _render_dependency(self, dep):
     """helper for building jsonable dependencies from various input forms."""
     if isinstance(dep, Dependency):
         return dep.as_dict()
     elif isinstance(dep, AsyncResult):
         return dep.msg_ids
     elif dep is None:
         return []
     else:
         # pass to Dependency constructor
         return list(Dependency(dep))
コード例 #2
0
    def _validate_dependency(self, dep):
        """validate a dependency.

        For use in `set_flags`.
        """
        if dep is None or isinstance(dep, string_types + (AsyncResult, Dependency)):
            return True
        elif isinstance(dep, (list,set, tuple)):
            for d in dep:
                if not isinstance(d, string_types + (AsyncResult,)):
                    return False
        elif isinstance(dep, dict):
            if set(dep.keys()) != set(Dependency().as_dict().keys()):
                return False
            if not isinstance(dep['msg_ids'], list):
                return False
            for d in dep['msg_ids']:
                if not isinstance(d, string_types):
                    return False
        else:
            return False

        return True