Python operator 模块,isCallable() 实例源码

我们从Python开源项目中,提取了以下21个代码示例,用于说明如何使用operator.isCallable()

项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def do_task(self,task=None,trace=False):
        """
        Executes an string or callable
        """
        trace = trace or self.trace
        task = task or self.task
        if trace: print 'In CronTab(%s).do_task(%s)'%(self.line,task)
        if isCallable(task):
            ret = task()
        elif isString(task):
            from fandango.linos import shell_command
            ret = shell_command(self.task)
        else:
            raise Exception('NotCallable/String')
        if self.keep:
            if self._queue.full(): self.get()
            self._queue.put(ret,False)
        if trace: 
            print 'CronTab(%s).do_task() => %s'%(self.line,ret)
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def get_callable(key,executor=None):
        try:
            x = []
            if isinstance(key,basestring):
                trial(lambda:x.append(evalX(key)),lambda:x.append(None))
            return first(a for a in (
                key,
                x and x[0],
                isinstance(key,basestring) and getattr(executor,key,None), #key is a member of executor
                getattr(executor,'process',None), #executor is a process object
                executor, #executor is a callable
                #isinstance(key,basestring) and evalX(key), # key may be name of function
                ) if a and isCallable(a))
        except StopIteration,e:
            return None

    #@staticmethod
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def _worker(self):
        #Processing queue items
        while not self._stop.is_set() and not self._queue.empty():
            item = self._queue.get()
            try:
                if item is not None and isCallable(item): 
                    item()
                elif isSequence(item): 
                    if self._action: self._action(*item)
                    elif isCallable(item[0]): item[0](*item[1:])
                elif self._action: 
                    self._action(item)
            except:
                import traceback
                print('objects.Pool.worker(%s) failed: %s'%(str(item),traceback.format_exc()))
            self._remove_task(item)
        return
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def iif(condition,truepart,falsepart=None,forward=False):
    """
    if condition is boolean return (falsepart,truepart)[condition]
    if condition is callable returns truepart if condition(tp) else falsepart
    if forward is True condition(truepart) is returned instead of truepart
    if forward is callable, forward(truepart) is returned instead
    """
    if isCallable(condition):
      v = condition(truepart)
      if not v: 
        return falsepart
    elif not condition: 
      return falsepart

    if isCallable(forward):
      return forward(truepart)
    elif forward:
      return v
    else:
      return truepart
项目:oil    作者:oilshell    | 项目源码 | 文件源码
def test_operator(self):
        import operator
        self.assertIs(operator.truth(0), False)
        self.assertIs(operator.truth(1), True)
        with test_support.check_py3k_warnings():
            self.assertIs(operator.isCallable(0), False)
            self.assertIs(operator.isCallable(len), True)
        self.assertIs(operator.isNumberType(None), False)
        self.assertIs(operator.isNumberType(0), True)
        self.assertIs(operator.not_(1), False)
        self.assertIs(operator.not_(0), True)
        self.assertIs(operator.isSequenceType(0), False)
        self.assertIs(operator.isSequenceType([]), True)
        self.assertIs(operator.contains([], 1), False)
        self.assertIs(operator.contains([1], 1), True)
        self.assertIs(operator.isMappingType(1), False)
        self.assertIs(operator.isMappingType({}), True)
        self.assertIs(operator.lt(0, 0), False)
        self.assertIs(operator.lt(0, 1), True)
        self.assertIs(operator.is_(True, True), True)
        self.assertIs(operator.is_(True, False), False)
        self.assertIs(operator.is_not(True, True), False)
        self.assertIs(operator.is_not(True, False), True)
项目:python2-tracer    作者:extremecoders-re    | 项目源码 | 文件源码
def test_operator(self):
        import operator
        self.assertIs(operator.truth(0), False)
        self.assertIs(operator.truth(1), True)
        with test_support.check_py3k_warnings():
            self.assertIs(operator.isCallable(0), False)
            self.assertIs(operator.isCallable(len), True)
        self.assertIs(operator.isNumberType(None), False)
        self.assertIs(operator.isNumberType(0), True)
        self.assertIs(operator.not_(1), False)
        self.assertIs(operator.not_(0), True)
        self.assertIs(operator.isSequenceType(0), False)
        self.assertIs(operator.isSequenceType([]), True)
        self.assertIs(operator.contains([], 1), False)
        self.assertIs(operator.contains([1], 1), True)
        self.assertIs(operator.isMappingType(1), False)
        self.assertIs(operator.isMappingType({}), True)
        self.assertIs(operator.lt(0, 0), False)
        self.assertIs(operator.lt(0, 1), True)
        self.assertIs(operator.is_(True, True), True)
        self.assertIs(operator.is_(True, False), False)
        self.assertIs(operator.is_not(True, True), False)
        self.assertIs(operator.is_not(True, False), True)
项目:pefile.pypy    作者:cloudtracer    | 项目源码 | 文件源码
def test_operator(self):
        import operator
        self.assertIs(operator.truth(0), False)
        self.assertIs(operator.truth(1), True)
        with test_support.check_py3k_warnings():
            self.assertIs(operator.isCallable(0), False)
            self.assertIs(operator.isCallable(len), True)
        self.assertIs(operator.isNumberType(None), False)
        self.assertIs(operator.isNumberType(0), True)
        self.assertIs(operator.not_(1), False)
        self.assertIs(operator.not_(0), True)
        self.assertIs(operator.isSequenceType(0), False)
        self.assertIs(operator.isSequenceType([]), True)
        self.assertIs(operator.contains([], 1), False)
        self.assertIs(operator.contains([1], 1), True)
        self.assertIs(operator.isMappingType(1), False)
        self.assertIs(operator.isMappingType({}), True)
        self.assertIs(operator.lt(0, 0), False)
        self.assertIs(operator.lt(0, 1), True)
        self.assertIs(operator.is_(True, True), True)
        self.assertIs(operator.is_(True, False), False)
        self.assertIs(operator.is_not(True, True), False)
        self.assertIs(operator.is_not(True, False), True)
项目:ndk-python    作者:gittor    | 项目源码 | 文件源码
def test_operator(self):
        import operator
        self.assertIs(operator.truth(0), False)
        self.assertIs(operator.truth(1), True)
        with test_support.check_py3k_warnings():
            self.assertIs(operator.isCallable(0), False)
            self.assertIs(operator.isCallable(len), True)
        self.assertIs(operator.isNumberType(None), False)
        self.assertIs(operator.isNumberType(0), True)
        self.assertIs(operator.not_(1), False)
        self.assertIs(operator.not_(0), True)
        self.assertIs(operator.isSequenceType(0), False)
        self.assertIs(operator.isSequenceType([]), True)
        self.assertIs(operator.contains([], 1), False)
        self.assertIs(operator.contains([1], 1), True)
        self.assertIs(operator.isMappingType(1), False)
        self.assertIs(operator.isMappingType({}), True)
        self.assertIs(operator.lt(0, 0), False)
        self.assertIs(operator.lt(0, 1), True)
        self.assertIs(operator.is_(True, True), True)
        self.assertIs(operator.is_(True, False), False)
        self.assertIs(operator.is_not(True, True), False)
        self.assertIs(operator.is_not(True, False), True)
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def _log(self,msg):
        if isCallable(self.log): 
          self.log(msg) 
        elif self.log: 
          print(msg)
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def getCachedObject(obj,methods=[],depth=10.,expire=3.,catched=False):
        """ @RISKY
        This method will try to apply Cached decorator to all methods 
        of an object. USE IT AT YOUR OWN RISK!!
        """
        klass = obj if isinstance(obj,type) else type(obj)
        if not methods:
            methods = [k for k,f in klass.__dict__.items() if isCallable(f)]
        for k in methods:
            try:
                m = Cached(getattr(klass,k),depth,expire,catched=catched)
                setattr(obj,k,m)
            except:pass
        return obj
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def decorate(self,target):
        if isCallable(target):
            self._log('decorate(%s)'%str(target))
            self.f = target
            #self.call = wraps(self.f)(self.__call__) #Not for methods!!
            functools.update_wrapper(self,self.f)
        else:
            self.f = None
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def sort(self,key):
        """
        This method modifies the sorting of the dictionary overriding the existing sort key.
        :param key: it can be a sequence containing all the keys already existing in the dictionary 
                    or a callable providing a sorting key algorithm.
        """
        import operator
        if operator.isCallable(key):
            self._keys = sorted(self._keys,key=key)
        else:
            for k in self._keys:
                if k not in self._keys: raise KeyError(k)
            self._keys = list(key)
        return self._keys[:]
项目:fandango    作者:tango-controls    | 项目源码 | 文件源码
def sort(self,key):
        """
        This method modifies the sorting of the dictionary overriding the existing sort key.
        :param key: it can be a sequence containing all the keys already existing in the dictionary 
                    or a callable providing a sorting key algorithm.
        """
        import operator
        if operator.isCallable(key):
            self._keys = sorted(self._keys,key=key)
        else:
            for k in self._keys:
                if k not in self._keys: raise KeyError(k)
            self._keys = list(key)
        return self._keys[:]
项目:oil    作者:oilshell    | 项目源码 | 文件源码
def test_isCallable(self):
        self.assertRaises(TypeError, operator.isCallable)
        class C:
            pass
        def check(self, o, v):
            with test_support.check_py3k_warnings():
                self.assertEqual(operator.isCallable(o), v)
                self.assertEqual(callable(o), v)
        check(self, 4, 0)
        check(self, operator.isCallable, 1)
        check(self, C, 1)
        check(self, C(), 0)
项目:oil    作者:oilshell    | 项目源码 | 文件源码
def test_operator(self):
        from operator import isCallable, sequenceIncludes

        callable_warn = ("operator.isCallable() is not supported in 3.x. "
                         "Use hasattr(obj, '__call__').")
        seq_warn = ("operator.sequenceIncludes() is not supported "
                    "in 3.x. Use operator.contains().")
        with check_py3k_warnings() as w:
            self.assertWarning(isCallable(self), w, callable_warn)
            w.reset()
            self.assertWarning(sequenceIncludes(range(3), 2), w, seq_warn)
项目:python2-tracer    作者:extremecoders-re    | 项目源码 | 文件源码
def test_isCallable(self):
        self.assertRaises(TypeError, operator.isCallable)
        class C:
            pass
        def check(self, o, v):
            with test_support.check_py3k_warnings():
                self.assertEqual(operator.isCallable(o), v)
                self.assertEqual(callable(o), v)
        check(self, 4, 0)
        check(self, operator.isCallable, 1)
        check(self, C, 1)
        check(self, C(), 0)
项目:python2-tracer    作者:extremecoders-re    | 项目源码 | 文件源码
def test_operator(self):
        from operator import isCallable, sequenceIncludes

        callable_warn = ("operator.isCallable() is not supported in 3.x. "
                         "Use hasattr(obj, '__call__').")
        seq_warn = ("operator.sequenceIncludes() is not supported "
                    "in 3.x. Use operator.contains().")
        with check_py3k_warnings() as w:
            self.assertWarning(isCallable(self), w, callable_warn)
            w.reset()
            self.assertWarning(sequenceIncludes(range(3), 2), w, seq_warn)
项目:pefile.pypy    作者:cloudtracer    | 项目源码 | 文件源码
def test_isCallable(self):
        self.assertRaises(TypeError, operator.isCallable)
        class C:
            pass
        def check(self, o, v):
            with test_support.check_py3k_warnings():
                self.assertEqual(operator.isCallable(o), v)
                self.assertEqual(callable(o), v)
        check(self, 4, 0)
        check(self, operator.isCallable, 1)
        check(self, C, 1)
        check(self, C(), 0)
项目:pefile.pypy    作者:cloudtracer    | 项目源码 | 文件源码
def test_operator(self):
        from operator import isCallable, sequenceIncludes

        callable_warn = ("operator.isCallable() is not supported in 3.x. "
                         "Use hasattr(obj, '__call__').")
        seq_warn = ("operator.sequenceIncludes() is not supported "
                    "in 3.x. Use operator.contains().")
        with check_py3k_warnings() as w:
            self.assertWarning(isCallable(self), w, callable_warn)
            w.reset()
            self.assertWarning(sequenceIncludes(range(3), 2), w, seq_warn)
项目:ndk-python    作者:gittor    | 项目源码 | 文件源码
def test_isCallable(self):
        self.assertRaises(TypeError, operator.isCallable)
        class C:
            pass
        def check(self, o, v):
            with test_support.check_py3k_warnings():
                self.assertEqual(operator.isCallable(o), v)
                self.assertEqual(callable(o), v)
        check(self, 4, 0)
        check(self, operator.isCallable, 1)
        check(self, C, 1)
        check(self, C(), 0)
项目:ndk-python    作者:gittor    | 项目源码 | 文件源码
def test_operator(self):
        from operator import isCallable, sequenceIncludes

        callable_warn = ("operator.isCallable() is not supported in 3.x. "
                         "Use hasattr(obj, '__call__').")
        seq_warn = ("operator.sequenceIncludes() is not supported "
                    "in 3.x. Use operator.contains().")
        with check_py3k_warnings() as w:
            self.assertWarning(isCallable(self), w, callable_warn)
            w.reset()
            self.assertWarning(sequenceIncludes(range(3), 2), w, seq_warn)