Package pytilities :: Package types :: Module _numbertypemeta
[hide private]
[frames] | no frames]

Source Code for Module pytilities.types._numbertypemeta

 1  # Copyright (C) 2010 Tim Diels <limyreth@users.sourceforge.net> 
 2  #  
 3  # This file is part of pytilities. 
 4  #  
 5  # pytilities is free software: you can redistribute it and/or modify 
 6  # it under the terms of the GNU General Public License as published by 
 7  # the Free Software Foundation, either version 3 of the License, or 
 8  # (at your option) any later version. 
 9  #  
10  # pytilities is distributed in the hope that it will be useful, 
11  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
12  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
13  # GNU General Public License for more details. 
14  #  
15  # You should have received a copy of the GNU General Public License 
16  # along with pytilities.  If not, see <http://www.gnu.org/licenses/>. 
17  # 
18   
19  __docformat__ = 'reStructuredText' 
20   
21 -class _NumberTypeMeta(type):
22 - def __instancecheck__(self, instance):
23 return issubclass(type(instance), self)
24 25 # inside meta classes, self refers to the class that has this meta as 26 # metaclass
27 - def __subclasscheck__(self, subclass):
28 if subclass is self: 29 return True 30 31 for type_ in (int, long, float): 32 if issubclass(type_, subclass): 33 return True 34 35 return False
36