blob: bfbbd7ccd8d93a549de2feef333a5aadb17114d9 [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)