#! /usr/bin/env python

import os
from abjad import abjad_configuration
from abjad.tools import iotools


def _find_initializers():
    initializers = [ ]
    for path, subdirectories, files in os.walk('.'):
        for f in files:
            if f == '__init__.py':
                parent_directory = path.split(os.sep)[-1]
                # protect abjad/__init__.py
                if parent_directory not in ('abjad', ):
                    initializers.append(os.path.join(path, f))
    print 'There are %s initializers ...' % len(initializers)
    inits_with_manual_imports = set([ ])
    for x in initializers:
        for line in file(x, 'r').readlines():
            if line.startswith('from ') and line[5].isupper():
                inits_with_manual_imports.add(x)
    for x in sorted(inits_with_manual_imports):
        print x
    print 'Total initializers with manual imports: %s' % len(inits_with_manual_imports)
    print ''


if __name__ == '__main__':
    iotools.clear_terminal()
    print 'Finding manual class loads in initializers ...'
    _find_initializers()
