blob: 8ab44d432c5a2ccf8213bc5b50c1c4e06aaf1b32 [file] [log] [blame]
#!/usr/bin/python
import core.models
import inspect
from core.models import XOSBase, PlModelMixIn
import pdb
def count(lst):
c = 0
for l in lst[0]:
ll = l.lstrip()
if (ll and not ll.startswith('#') and ll.rstrip()!='pass' and 'ModelLink' not in ll and 'CHOICES' not in ll):
c+=1
return c
def is_model_class(model):
""" Return True if 'model' is something that we're interested in """
if not inspect.isclass(model):
return False
if model.__name__ in ["PlModelMixIn"]:
return False
bases = inspect.getmro(model)
bases = [x.__name__ for x in bases]
if ("XOSBase" in bases) or ("PlModelMixIn" in bases):
return True
return False
for a in dir(core.models):
x = getattr(core.models,a)
if (is_model_class(x)):
lines = inspect.getsourcelines(x)
print x.__name__,":",count(lines)