Lichen

Change of lib/__builtins__/identity.py

6:f551873980e5
lib/__builtins__/identity.py
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/lib/__builtins__/identity.py	Tue Aug 30 21:55:58 2016 +0200
     1.3 @@ -0,0 +1,50 @@
     1.4 +#!/usr/bin/env python
     1.5 +
     1.6 +"""
     1.7 +Identity-related functions.
     1.8 +
     1.9 +Copyright (C) 2015 Paul Boddie <paul@boddie.org.uk>
    1.10 +
    1.11 +This program is free software; you can redistribute it and/or modify it under
    1.12 +the terms of the GNU General Public License as published by the Free Software
    1.13 +Foundation; either version 3 of the License, or (at your option) any later
    1.14 +version.
    1.15 +
    1.16 +This program is distributed in the hope that it will be useful, but WITHOUT
    1.17 +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    1.18 +FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
    1.19 +details.
    1.20 +
    1.21 +You should have received a copy of the GNU General Public License along with
    1.22 +this program.  If not, see <http://www.gnu.org/licenses/>.
    1.23 +"""
    1.24 +
    1.25 +from native import _isinstance
    1.26 +
    1.27 +def callable(obj): pass
    1.28 +def help(*args): pass
    1.29 +def id(obj): pass
    1.30 +
    1.31 +def isinstance(obj, cls_or_tuple):
    1.32 +
    1.33 +    """
    1.34 +    Return whether 'obj' is an instance of 'cls_or_tuple', where the latter is
    1.35 +    either a class or a tuple of classes.
    1.36 +    """
    1.37 +
    1.38 +    # NOTE: CPython insists on tuples, but any sequence might be considered
    1.39 +    # NOTE: acceptable.
    1.40 +
    1.41 +    if _isinstance(cls_or_tuple, tuple):
    1.42 +        for cls in cls_or_tuple:
    1.43 +            if obj.__class__ is cls or _isinstance(obj, cls):
    1.44 +                return True
    1.45 +        return False
    1.46 +    else:
    1.47 +        return obj.__class__ is cls_or_tuple or _isinstance(obj, cls_or_tuple)
    1.48 +
    1.49 +def issubclass(obj, cls_or_tuple): pass
    1.50 +
    1.51 +def repr(obj): pass
    1.52 +
    1.53 +# vim: tabstop=4 expandtab shiftwidth=4