Best Python code snippet using pandera_python
aenum.py
Source:aenum.py  
...112    """Metaclass for Enum"""113    @classmethod114    def __prepare__(metacls, cls, bases):115        return _EnumDict()116    def __new__(metacls, cls, bases, classdict):117        # an Enum class is final once enumeration items have been defined; it118        # cannot be mixed with other types (int, float, etc.) if it has an119        # inherited __new__ unless a new __new__ is defined (or the resulting120        # class will fail).121        if type(classdict) is dict:122            original_dict = classdict123            classdict = _EnumDict()124            for k, v in original_dict.items():125                classdict[k] = v126        member_type, first_enum = metacls._get_mixins_(bases)127        __new__, save_new, use_args = metacls._find_new_(classdict, member_type,128                                                        first_enum)129        # save enum items into separate mapping so they don't get baked into130        # the new class131        members = dict((k, classdict[k]) for k in classdict._member_names)132        for name in classdict._member_names:133            del classdict[name]134        # py2 support for definition order135        _order_ = classdict.get('_order_')136        if _order_ is None:137            if pyver < 3.0:138                try:139                    _order_ = [name for (name, value) in sorted(members.items(), key=lambda item: item[1])]140                except TypeError:141                    _order_ = [name for name in sorted(members.keys())]142            else:143                _order_ = classdict._member_names144        else:145            del classdict['_order_']146            if pyver < 3.0:147                _order_ = _order_.replace(',', ' ').split()148                aliases = [name for name in members if name not in _order_]149                _order_ += aliases150        # check for illegal enum names (any others?)151        invalid_names = set(members) & set(['mro'])152        if invalid_names:153            raise ValueError('Invalid enum member name(s): %s' % (154                ', '.join(invalid_names), ))155        # save attributes from super classes so we know if we can take156        # the shortcut of storing members in the class dict157        base_attributes = set([a for b in bases for a in b.__dict__])158        # create our new Enum type159        enum_class = super(EnumMeta, metacls).__new__(metacls, cls, bases, classdict)160        enum_class._member_names_ = []               # names in random order161        if OrderedDict is not None:162            enum_class._member_map_ = OrderedDict()163        else:164            enum_class._member_map_ = {}             # name->value map165        enum_class._member_type_ = member_type166        # Reverse value->name map for hashable values.167        enum_class._value2member_map_ = {}168        # instantiate them, checking for duplicates as we go169        # we instantiate first instead of checking for duplicates first in case170        # a custom __new__ is doing something funky with the values -- such as171        # auto-numbering ;)172        if __new__ is None:173            __new__ = enum_class.__new__174        for member_name in _order_:175            value = members[member_name]176            if not isinstance(value, tuple):177                args = (value, )178            else:179                args = value180            if member_type is tuple:   # special case for tuple enums181                args = (args, )     # wrap it one more time182            if not use_args or not args:183                enum_member = __new__(enum_class)184                if not hasattr(enum_member, '_value_'):185                    enum_member._value_ = value186            else:187                enum_member = __new__(enum_class, *args)188                if not hasattr(enum_member, '_value_'):189                    enum_member._value_ = member_type(*args)190            value = enum_member._value_191            enum_member._name_ = member_name192            enum_member.__objclass__ = enum_class193            enum_member.__init__(*args)194            # If another member with the same value was already defined, the195            # new member becomes an alias to the existing one.196            for name, canonical_member in enum_class._member_map_.items():197                if canonical_member.value == enum_member._value_:198                    enum_member = canonical_member199                    break200            else:201                # Aliases don't appear in member names (only in __members__).202                enum_class._member_names_.append(member_name)203            # performance boost for any member that would not shadow204            # a DynamicClassAttribute (aka _RouteClassAttributeToGetattr)205            if member_name not in base_attributes:206                setattr(enum_class, member_name, enum_member)207            # now add to _member_map_208            enum_class._member_map_[member_name] = enum_member209            try:210                # This may fail if value is not hashable. We can't add the value211                # to the map, and by-value lookups for this value will be212                # linear.213                enum_class._value2member_map_[value] = enum_member214            except TypeError:215                pass216        # If a custom type is mixed into the Enum, and it does not know how217        # to pickle itself, pickle.dumps will succeed but pickle.loads will218        # fail.  Rather than have the error show up later and possibly far219        # from the source, sabotage the pickle protocol for this class so220        # that pickle.dumps also fails.221        #222        # However, if the new class implements its own __reduce_ex__, do not223        # sabotage -- it's on them to make sure it works correctly.  We use224        # __reduce_ex__ instead of any of the others as it is preferred by225        # pickle over __reduce__, and it handles all pickle protocols.226        unpicklable = False227        if '__reduce_ex__' not in classdict:228            if member_type is not object:229                methods = ('__getnewargs_ex__', '__getnewargs__',230                        '__reduce_ex__', '__reduce__')231                if not any(m in member_type.__dict__ for m in methods):232                    _make_class_unpicklable(enum_class)233                    unpicklable = True234        # double check that repr and friends are not the mixin's or various235        # things break (such as pickle)236        for name in ('__repr__', '__str__', '__format__', '__reduce_ex__'):237            class_method = getattr(enum_class, name)238            obj_method = getattr(member_type, name, None)239            enum_method = getattr(first_enum, name, None)240            if name not in classdict and class_method is not enum_method:241                if name == '__reduce_ex__' and unpicklable:242                    continue243                setattr(enum_class, name, enum_method)244        # method resolution and int's are not playing nice245        # Python's less than 2.6 use __cmp__246        if pyver < 2.6:247            if issubclass(enum_class, int):248                setattr(enum_class, '__cmp__', getattr(int, '__cmp__'))249        elif pyver < 3.0:250            if issubclass(enum_class, int):251                for method in (252                        '__le__',253                        '__lt__',254                        '__gt__',255                        '__ge__',256                        '__eq__',257                        '__ne__',258                        '__hash__',259                        ):260                    setattr(enum_class, method, getattr(int, method))261        # replace any other __new__ with our own (as long as Enum is not None,262        # anyway) -- again, this is to support pickle263        if Enum is not None:264            # if the user defined their own __new__, save it before it gets265            # clobbered in case they subclass later266            if save_new:267                setattr(enum_class, '__member_new__', enum_class.__dict__['__new__'])268            setattr(enum_class, '__new__', Enum.__dict__['__new__'])269        return enum_class270    def __bool__(cls):271        """272        classes/types should always be True.273        """274        return True275    def __call__(cls, value, names=None, module=None, type=None, start=1):276        """Either returns an existing member, or creates a new enum class.277        This method is used both when an enum class is given a value to match278        to an enumeration member (i.e. Color(3)) and for the functional API279        (i.e. Color = Enum('Color', names='red green blue')).280        When used for the functional API: `module`, if set, will be stored in281        the new class' __module__ attribute; `type`, if set, will be mixed in282        as the first base class.283        Note: if `module` is not set this routine will attempt to discover the284        calling module by walking the frame stack; if this is unsuccessful285        the resulting class will not be pickleable.286        """287        if names is None:  # simple value lookup288            return cls.__new__(cls, value)289        # otherwise, functional API: we're creating a new Enum type290        return cls._create_(value, names, module=module, type=type, start=start)291    def __contains__(cls, member):292        return isinstance(member, cls) and member.name in cls._member_map_293    def __delattr__(cls, attr):294        # nicer error message when someone tries to delete an attribute295        # (see issue19025).296        if attr in cls._member_map_:297            raise AttributeError(298                    "%s: cannot delete Enum member." % cls.__name__)299        super(EnumMeta, cls).__delattr__(attr)300    def __dir__(self):301        return (['__class__', '__doc__', '__members__', '__module__'] +302                self._member_names_)303    @property304    def __members__(cls):305        """Returns a mapping of member name->value.306        This mapping lists all enum members, including aliases. Note that this307        is a copy of the internal mapping.308        """309        return cls._member_map_.copy()310    def __getattr__(cls, name):311        """Return the enum member matching `name`312        We use __getattr__ instead of descriptors or inserting into the enum313        class' __dict__ in order to support `name` and `value` being both314        properties for enum members (which live in the class' __dict__) and315        enum members themselves.316        """317        if _is_dunder(name):318            raise AttributeError(name)319        try:320            return cls._member_map_[name]321        except KeyError:322            raise AttributeError(name)323    def __getitem__(cls, name):324        return cls._member_map_[name]325    def __iter__(cls):326        return (cls._member_map_[name] for name in cls._member_names_)327    def __reversed__(cls):328        return (cls._member_map_[name] for name in reversed(cls._member_names_))329    def __len__(cls):330        return len(cls._member_names_)331    __nonzero__ = __bool__332    def __repr__(cls):333        return "<enum %r>" % cls.__name__334    def __setattr__(cls, name, value):335        """Block attempts to reassign Enum members.336        A simple assignment to the class namespace only changes one of the337        several possible ways to get an Enum member from the Enum class,338        resulting in an inconsistent Enumeration.339        """340        member_map = cls.__dict__.get('_member_map_', {})341        if name in member_map:342            raise AttributeError('Cannot reassign members.')343        super(EnumMeta, cls).__setattr__(name, value)344    def _create_(cls, class_name, names=None, module=None, type=None, start=1):345        """Convenience method to create a new Enum class.346        `names` can be:347        * A string containing member names, separated either with spaces or348          commas.  Values are auto-numbered from 1.349        * An iterable of member names.  Values are auto-numbered from 1.350        * An iterable of (member name, value) pairs.351        * A mapping of member name -> value.352        """353        if pyver < 3.0:354            # if class_name is unicode, attempt a conversion to ASCII355            if isinstance(class_name, unicode):356                try:357                    class_name = class_name.encode('ascii')358                except UnicodeEncodeError:359                    raise TypeError('%r is not representable in ASCII' % class_name)360        metacls = cls.__class__361        if type is None:362            bases = (cls, )363        else:364            bases = (type, cls)365        classdict = metacls.__prepare__(class_name, bases)366        _order_ = []367        # special processing needed for names?368        if isinstance(names, basestring):369            names = names.replace(',', ' ').split()370        if isinstance(names, (tuple, list)) and isinstance(names[0], basestring):371            names = [(e, i+start) for (i, e) in enumerate(names)]372        # Here, names is either an iterable of (name, value) or a mapping.373        item = None  # in case names is empty374        for item in names:375            if isinstance(item, basestring):376                member_name, member_value = item, names[item]377            else:378                member_name, member_value = item379            classdict[member_name] = member_value380            _order_.append(member_name)381        # only set _order_ in classdict if name/value was not from a mapping382        if not isinstance(item, basestring):383            classdict['_order_'] = ' '.join(_order_)384        enum_class = metacls.__new__(metacls, class_name, bases, classdict)385        # TODO: replace the frame hack if a blessed way to know the calling386        # module is ever developed387        if module is None:388            try:389                module = _sys._getframe(2).f_globals['__name__']390            except (AttributeError, ValueError):391                pass392        if module is None:393            _make_class_unpicklable(enum_class)394        else:395            enum_class.__module__ = module396        return enum_class397    @staticmethod398    def _get_mixins_(bases):399        """Returns the type for creating enum members, and the first inherited400        enum class.401        bases: the tuple of bases that was given to __new__402        """403        if not bases or Enum is None:404            return object, Enum405        # double check that we are not subclassing a class with existing406        # enumeration members; while we're at it, see if any other data407        # type has been mixed in so we can use the correct __new__408        member_type = first_enum = None409        for base in bases:410            if  (base is not Enum and411                    issubclass(base, Enum) and412                    base._member_names_):413                raise TypeError("Cannot extend enumerations")414        # base is now the last base in bases415        if not issubclass(base, Enum):416            raise TypeError("new enumerations must be created as "417                    "`ClassName([mixin_type,] enum_type)`")418        # get correct mix-in type (either mix-in type of Enum subclass, or419        # first base if last base is Enum)420        if not issubclass(bases[0], Enum):421            member_type = bases[0]     # first data type422            first_enum = bases[-1]  # enum type423        else:424            for base in bases[0].__mro__:425                # most common: (IntEnum, int, Enum, object)426                # possible:    (<Enum 'AutoIntEnum'>, <Enum 'IntEnum'>,427                #               <class 'int'>, <Enum 'Enum'>,428                #               <class 'object'>)429                if issubclass(base, Enum):430                    if first_enum is None:431                        first_enum = base432                else:433                    if member_type is None:434                        member_type = base435        return member_type, first_enum436    if pyver < 3.0:437        @staticmethod438        def _find_new_(classdict, member_type, first_enum):439            """Returns the __new__ to be used for creating the enum members.440            classdict: the class dictionary given to __new__441            member_type: the data type whose __new__ will be used by default442            first_enum: enumeration to check for an overriding __new__443            """444            # now find the correct __new__, checking to see of one was defined445            # by the user; also check earlier enum classes in case a __new__ was446            # saved as __member_new__447            __new__ = classdict.get('__new__', None)448            if __new__:449                return None, True, True      # __new__, save_new, use_args450            N__new__ = getattr(None, '__new__')451            O__new__ = getattr(object, '__new__')452            if Enum is None:453                E__new__ = N__new__454            else:455                E__new__ = Enum.__dict__['__new__']456            # check all possibles for __member_new__ before falling back to457            # __new__458            for method in ('__member_new__', '__new__'):459                for possible in (member_type, first_enum):460                    try:461                        target = possible.__dict__[method]462                    except (AttributeError, KeyError):463                        target = getattr(possible, method, None)464                    if target not in [465                            None,466                            N__new__,467                            O__new__,468                            E__new__,469                            ]:470                        if method == '__member_new__':471                            classdict['__new__'] = target472                            return None, False, True473                        if isinstance(target, staticmethod):474                            target = target.__get__(member_type)475                        __new__ = target476                        break477                if __new__ is not None:478                    break479            else:480                __new__ = object.__new__481            # if a non-object.__new__ is used then whatever value/tuple was482            # assigned to the enum member name will be passed to __new__ and to the483            # new enum member's __init__484            if __new__ is object.__new__:485                use_args = False486            else:487                use_args = True488            return __new__, False, use_args489    else:490        @staticmethod491        def _find_new_(classdict, member_type, first_enum):492            """Returns the __new__ to be used for creating the enum members.493            classdict: the class dictionary given to __new__494            member_type: the data type whose __new__ will be used by default495            first_enum: enumeration to check for an overriding __new__496            """497            # now find the correct __new__, checking to see of one was defined498            # by the user; also check earlier enum classes in case a __new__ was499            # saved as __member_new__500            __new__ = classdict.get('__new__', None)501            # should __new__ be saved as __member_new__ later?502            save_new = __new__ is not None503            if __new__ is None:504                # check all possibles for __member_new__ before falling back to505                # __new__506                for method in ('__member_new__', '__new__'):507                    for possible in (member_type, first_enum):508                        target = getattr(possible, method, None)509                        if target not in (510                                None,511                                None.__new__,512                                object.__new__,513                                Enum.__new__,514                                ):515                            __new__ = target516                            break517                    if __new__ is not None:518                        break519                else:520                    __new__ = object.__new__521            # if a non-object.__new__ is used then whatever value/tuple was522            # assigned to the enum member name will be passed to __new__ and to the523            # new enum member's __init__524            if __new__ is object.__new__:525                use_args = False526            else:527                use_args = True528            return __new__, save_new, use_args529########################################################530# In order to support Python 2 and 3 with a single531# codebase we have to create the Enum methods separately532# and then use the `type(name, bases, dict)` method to533# create the class.534########################################################535temp_enum_dict = {}536temp_enum_dict['__doc__'] = "Generic enumeration.\n\n    Derive from this class to define new enumerations.\n\n"537def __new__(cls, value):538    # all enum instances are actually created during class construction539    # without calling this method; this method is called by the metaclass'540    # __call__ (i.e. Color(3) ), and by pickle541    if type(value) is cls:542        # For lookups like Color(Color.red)543        value = value.value544        #return value545    # by-value search for a matching enum member546    # see if it's in the reverse mapping (for hashable values)547    try:548        if value in cls._value2member_map_:549            return cls._value2member_map_[value]550    except TypeError:551        # not there, now do long search -- O(n) behavior...__init__.py
Source:__init__.py  
...28@register('cv2')29class GOpaque():30    # NB: Inheritance from c++ class cause segfault.31    # So just aggregate cv.GOpaqueT instead of inheritance32    def __new__(cls, argtype):33        return cv.GOpaqueT(argtype)34    class Bool():35        def __new__(self):36            return cv.GOpaqueT(cv.gapi.CV_BOOL)37    class Int():38        def __new__(self):39            return cv.GOpaqueT(cv.gapi.CV_INT)40    class Double():41        def __new__(self):42            return cv.GOpaqueT(cv.gapi.CV_DOUBLE)43    class Float():44        def __new__(self):45            return cv.GOpaqueT(cv.gapi.CV_FLOAT)46    class String():47        def __new__(self):48            return cv.GOpaqueT(cv.gapi.CV_STRING)49    class Point():50        def __new__(self):51            return cv.GOpaqueT(cv.gapi.CV_POINT)52    class Point2f():53        def __new__(self):54            return cv.GOpaqueT(cv.gapi.CV_POINT2F)55    class Size():56        def __new__(self):57            return cv.GOpaqueT(cv.gapi.CV_SIZE)58    class Rect():59        def __new__(self):60            return cv.GOpaqueT(cv.gapi.CV_RECT)61    class Prim():62        def __new__(self):63            return cv.GOpaqueT(cv.gapi.CV_DRAW_PRIM)64    class Any():65        def __new__(self):66            return cv.GOpaqueT(cv.gapi.CV_ANY)67@register('cv2')68class GArray():69    # NB: Inheritance from c++ class cause segfault.70    # So just aggregate cv.GArrayT instead of inheritance71    def __new__(cls, argtype):72        return cv.GArrayT(argtype)73    class Bool():74        def __new__(self):75            return cv.GArrayT(cv.gapi.CV_BOOL)76    class Int():77        def __new__(self):78            return cv.GArrayT(cv.gapi.CV_INT)79    class Double():80        def __new__(self):81            return cv.GArrayT(cv.gapi.CV_DOUBLE)82    class Float():83        def __new__(self):84            return cv.GArrayT(cv.gapi.CV_FLOAT)85    class String():86        def __new__(self):87            return cv.GArrayT(cv.gapi.CV_STRING)88    class Point():89        def __new__(self):90            return cv.GArrayT(cv.gapi.CV_POINT)91    class Point2f():92        def __new__(self):93            return cv.GArrayT(cv.gapi.CV_POINT2F)94    class Size():95        def __new__(self):96            return cv.GArrayT(cv.gapi.CV_SIZE)97    class Rect():98        def __new__(self):99            return cv.GArrayT(cv.gapi.CV_RECT)100    class Scalar():101        def __new__(self):102            return cv.GArrayT(cv.gapi.CV_SCALAR)103    class Mat():104        def __new__(self):105            return cv.GArrayT(cv.gapi.CV_MAT)106    class GMat():107        def __new__(self):108            return cv.GArrayT(cv.gapi.CV_GMAT)109    class Prim():110        def __new__(self):111            return cv.GArray(cv.gapi.CV_DRAW_PRIM)112    class Any():113        def __new__(self):114            return cv.GArray(cv.gapi.CV_ANY)115# NB: Top lvl decorator takes arguments116def op(op_id, in_types, out_types):117    garray_types= {118            cv.GArray.Bool:    cv.gapi.CV_BOOL,119            cv.GArray.Int:     cv.gapi.CV_INT,120            cv.GArray.Double:  cv.gapi.CV_DOUBLE,121            cv.GArray.Float:   cv.gapi.CV_FLOAT,122            cv.GArray.String:  cv.gapi.CV_STRING,123            cv.GArray.Point:   cv.gapi.CV_POINT,124            cv.GArray.Point2f: cv.gapi.CV_POINT2F,125            cv.GArray.Size:    cv.gapi.CV_SIZE,126            cv.GArray.Rect:    cv.gapi.CV_RECT,127            cv.GArray.Scalar:  cv.gapi.CV_SCALAR,...exceptions.py
Source:exceptions.py  
1import __builtin__23class BaseException(__builtin__.object):4     def __delattr__(): pass5     def __getattribute__(): pass6     def __getitem__(): pass7     def __getslice__(): pass8     def __init__(): pass9     def __reduce__(): pass10     def __repr__(): pass11     def __setattr__(): pass12     def __setstate__(): pass13     def __str__(): pass14     def __unicode__(): pass15     16     __dict__ = 017     args = 018     message = 019     __new__ = 020    21class Exception(BaseException):22     def __init__(): pass23     __new__ = 024    25class StandardError(Exception):26     def __init__(): pass27     __new__ = 02829class ArithmeticError(StandardError):30     def __init__(): pass31     __new__ = 032     33class AssertionError(StandardError):34     def __init__(): pass35     __new__ = 036    37class AttributeError(StandardError):38     def __init__(): pass39     __new__ = 040    41class BufferError(StandardError):42     def __init__(): pass43     __new__ = 044    45class Warning(Exception):46     def __init__(): pass47     __new__ = 048     49class BytesWarning(Warning):50     def __init__(): pass51     __new__ = 052    53class DeprecationWarning(Warning):54     def __init__(): pass55     __new__ = 056    57class EOFError(StandardError):58     def __init__(): pass59     __new__ = 060    61class EnvironmentError(StandardError):62     def __init__(): pass63     def __reduce__(): pass64     def __str__(): pass65     errno = 066     filename = ''67     strerror = 068     __new__ = 069    70class FloatingPointError(ArithmeticError):71     def __init__(): pass72     __new__ = 073     74class FutureWarning(Warning):75     def __init__(): pass76     __new__ = 077    78class GeneratorExit(BaseException):79     def __init__(): pass80     __new__ = 081     82    83class IOError(EnvironmentError):84     def __init__(): pass85     __new__ = 086     87class ImportError(StandardError):88     def __init__(): pass89     __new__ = 090    91class ImportWarning(Warning):92     def __init__(): pass93     __new__ = 094    95class IndentationError(SyntaxError):96     def __init__(): pass97     __new__ = 098    99class IndexError(LookupError):100     def __init__(): pass101     __new__ = 0102    103class KeyError(LookupError):104     def __init__(): pass105     def __str__(): pass106     __new__ = 0107    108class KeyboardInterrupt(BaseException):109     def __init__(): pass110     __new__ = 0111     112    113class LookupError(StandardError):114     def __init__(): pass115     __new__ = 0116    117class MemoryError(StandardError):118     def __init__(): pass119     __new__ = 0120    121class NameError(StandardError):122     def __init__(): pass123     __new__ = 0124125class NotImplementedError(RuntimeError):126     def __init__(): pass127     __new__ = 0128     129class OSError(EnvironmentError):130     def __init__(): pass131     __new__ = 0132    133class OverflowError(ArithmeticError):134     def __init__(): pass135     __new__ = 0136137class PendingDeprecationWarning(Warning):138     def __init__(): pass139     __new__ = 0140    141class ReferenceError(StandardError):142     def __init__(): pass143     __new__ = 0144    145class RuntimeError(StandardError):146     def __init__(): pass147     __new__ = 0148     149class RuntimeWarning(Warning):150     def __init__(): pass151     __new__ = 0152        153class StopIteration(Exception):154     def __init__(): pass155     __new__ = 0156     157class SyntaxError(StandardError):158     def __init__(): pass159     def __str__(): pass160     filename = ''161     lineno = 0162     msg = ''163     offset = 0164     print_file_and_line = 0165     text = ''166     __new__ = 0167    168class SyntaxWarning(Warning):169     def __init__(): pass170     __new__ = 0171     172class SystemError(StandardError):173     def __init__(): pass174     __new__ = 0175     176class SystemExit(BaseException):177     def __init__(): pass178     code = 0179     __new__ = 0180    181class TabError(IndentationError):182     def __init__(): pass183     __new__ = 0184     185class TypeError(StandardError):186     def __init__(): pass187     __new__ = 0188     189    190class UnboundLocalError(NameError):191     def __init__(): pass192     __new__ = 0193     194class UnicodeDecodeError(UnicodeError):195     def __init__(): pass196     def __str__(): pass197     encoding = 0198     end = 0199     object = 0200     reason = 0201     start = 0202     __new__ = 0203204class UnicodeEncodeError(UnicodeError):205     def __init__(): pass206     def __str__(): pass207     encoding = 0208     end = 0209     object = 0210     reason = 0211     start = 0212     __new__ = 0213      214class UnicodeError(ValueError):215     def __init__(): pass216     __new__ = 0217     218class UnicodeTranslateError(UnicodeError):219     def __init__(): pass220     def __str__(): pass221     encoding = 0222     end = 0223     object = 0224     reason = 0225     start = 0226     __new__ = 0227    228class UnicodeWarning(Warning):229     def __init__(): pass230     __new__ = 0231    232class UserWarning(Warning):233     def __init__(): pass234     __new__ = 0235    236class ValueError(StandardError):237     def __init__(): pass238     __new__ = 0239    240    241class WindowsError(OSError):242     def __init__(): pass243     def __str__(): pass244     errno = 0245     filename = ''246     strerror = 0247     winerror = 0248     __new__ = 0249250class ZeroDivisionError(ArithmeticError):251     def __init__(): pass252     __new__ = 0
...gameboard1.py
Source:gameboard1.py  
...80class Piece(str):81    __slots__ = ()82class BlackDraught(Piece):83    __slots__ = ()84    def __new__(Class):85        return super().__new__(Class, "\N{black draughts man}")86class WhiteDraught(Piece):87    __slots__ = ()88    89    def __new__(Class):90        return super().__new__(Class, "\N{white draughts man}")91class BlackChessKing(Piece):92    __slots__ = ()93    94    def __new__(Class):95        return super().__new__(Class, "\N{black chess king}")96class WhiteChessKing(Piece):97    __slots__ = ()98    99    def __new__(Class):100        return super().__new__(Class, "\N{white chess king}")101class BlackChessQueen(Piece):102    __slots__ = ()103    104    def __new__(Class):105        return super().__new__(Class, "\N{black chess queen}")106class WhiteChessQueen(Piece):107    __slots__ = ()108    109    def __new__(Class):110        return super().__new__(Class, "\N{white chess queen}")111class BlackChessRook(Piece):112    __slots__ = ()113    114    def __new__(Class):115        return super().__new__(Class, "\N{black chess rook}")116class WhiteChessRook(Piece):117    __slots__ = ()118    119    def __new__(Class):120        return super().__new__(Class, "\N{white chess rook}")121class BlackChessBishop(Piece):122    __slots__ = ()123    124    def __new__(Class):125        return super().__new__(Class, "\N{black chess bishop}")126class WhiteChessBishop(Piece):127    __slots__ = ()128    129    def __new__(Class):130        return super().__new__(Class, "\N{white chess bishop}")131class BlackChessKnight(Piece):132    __slots__ = ()133    134    def __new__(Class):135        return super().__new__(Class, "\N{black chess knight}")136class WhiteChessKnight(Piece):137    __slots__ = ()138    139    def __new__(Class):140        return super().__new__(Class, "\N{white chess knight}")141class BlackChessPawn(Piece):142    __slots__ = ()143    144    def __new__(Class):145        return super().__new__(Class, "\N{black chess pawn}")146class WhiteChessPawn(Piece):147    __slots__ = ()148    149    def __new__(Class):150        return super().__new__(Class, "\N{white chess pawn}")151if __name__ == "__main__":...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
