# Path: corpkit/process.py
# def classname(cls):
#     """Create the class name str for __repr__"""
#     return '.'.join([cls.__class__.__module__, cls.__class__.__name__])
# 
# Path: corpkit/constants.py
# STRINGTYPE = str if PYTHON_VERSION == 3 else basestring
# 
# PYTHON_VERSION = sys.version_info.major


from lazyprop import lazyprop
from corpkit.process import classname
from corpkit.constants import STRINGTYPE, PYTHON_VERSION
        from os.path import join, isfile, isdir, abspath, dirname, basename
        from corpkit.process import determine_datatype
                from corpkit.other import load
                from corpkit.process import makesafe
        from os.path import join, isdir
        from corpkit.build import get_speaker_names_from_parsed_corpus
        from os.path import join, isdir
        from corpkit.constants import OPENER
        from sklearn.feature_extraction.text import TfidfVectorizer
        from corpkit.constants import STRINGTYPE
        from corpkit.process import makesafe
        from corpkit.constants import STRINGTYPE
        from corpkit.process import makesafe
        from corpkit.dictionaries.word_transforms import mergetags
        from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
            from corpkit.interrogation import Interrodict
        from corpkit.dictionaries.word_transforms import mergetags
        from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
            from corpkit.interrogation import Interrodict
        from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
            from corpkit.interrogation import Interrodict
        from corpkit.configurations import configurations
        from corpkit.interrogator import interrogator
        from corpkit.interrogation import Interrodict
            from corpkit.constants import transshow, transobjs
        from corpkit.process import get_corpus_metadata
        from corpkit.make import make_corpus
        from corpkit.make import make_corpus
        from corpkit.other import save
        from corpkit.other import load
        from corpkit.model import MultiModel
        from corpkit.interrogation import Interrogation
        from corpkit.annotate import annotator
            from corpkit.process import make_dotfile
        from corpkit.annotate import annotator
        from corpkit.process import makesafe
                from corpkit.process import is_number
        from os.path import join, isfile, isdir
        from corpkit.constants import OPENER
            from corpkit.conll import parse_conll
            from corpkit.process import saferead
            from nltk import Tree
            from collections import OrderedDict
        from corpkit.constants import STRINGTYPE
        from corpkit.constants import STRINGTYPE
        from corpkit.interrogator import interrogator
        from corpkit.interrogation import Interrodict
        from corpkit.interrogator import interrogator
        from corpkit.configurations import configurations
            from os.path import join, isfile, isdir
        from corpkit.corpus import Corpora
        from corpkit.interrogation import Interrodict
        import re
        import operator
        import glob
        import os
        import re
        import os
        import operator
        import re
        import os
        import operator
        import os
            import pandas as pd
            import pandas as pd
            import pandas as pd
        import pandas as pd
        import random
        import os
        import os
        import os
        import os
            import os
                 corpora. A `list` can be a list of corpus paths or 
                 :class:`corpkit.corpus.Corpus` objects. )
    :type data: `str`/`list`
    """

    def __init__(self, data=False, **kwargs):

        self.name = None

        # if no arg, load every corpus in data dir
        if not data:
            data = 'data'
            
        # handle a folder containing corpora
        if isinstance(data, STRINGTYPE):
            if not os.path.isdir(data):
                if not os.path.isdir(os.path.join('data', data)):
                    raise ValueError('Corpora(str) needs to point to a directory.')
                else:
                    data = os.path.join('data', data)
            self.name = os.path.basename(data)
            data = sorted([join(data, d) for d in os.listdir(data)
                           if isdir(join(data, d)) and not d.startswith('.')])

        # otherwise, make a list of Corpus objects

        if not self.name:
            self.name = ','.join([os.path.basename(str(i)) for i in data])
    
        for index, i in enumerate(data):

# Path: corpkit/process.py
# def classname(cls):
#     """Create the class name str for __repr__"""
#     return '.'.join([cls.__class__.__module__, cls.__class__.__name__])
# 
# Path: corpkit/constants.py
# STRINGTYPE = str if PYTHON_VERSION == 3 else basestring
# 
# PYTHON_VERSION = sys.version_info.major


# Path: corpkit/corpus.py
from lazyprop import lazyprop
from corpkit.process import classname
from corpkit.constants import STRINGTYPE, PYTHON_VERSION
        from os.path import join, isfile, isdir, abspath, dirname, basename
        from corpkit.process import determine_datatype
                from corpkit.other import load
                from corpkit.process import makesafe
        from os.path import join, isdir
        from corpkit.build import get_speaker_names_from_parsed_corpus
        from os.path import join, isdir
        from corpkit.constants import OPENER
        from sklearn.feature_extraction.text import TfidfVectorizer
        from corpkit.constants import STRINGTYPE
        from corpkit.process import makesafe
        from corpkit.constants import STRINGTYPE
        from corpkit.process import makesafe
        from corpkit.dictionaries.word_transforms import mergetags
        from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
            from corpkit.interrogation import Interrodict
        from corpkit.dictionaries.word_transforms import mergetags
        from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
            from corpkit.interrogation import Interrodict
        from corpkit.process import get_corpus_metadata, add_df_to_dotfile, make_df_json_name
            from corpkit.interrogation import Interrodict
        from corpkit.configurations import configurations
        from corpkit.interrogator import interrogator
        from corpkit.interrogation import Interrodict
            from corpkit.constants import transshow, transobjs
        from corpkit.process import get_corpus_metadata
        from corpkit.make import make_corpus
        from corpkit.make import make_corpus
        from corpkit.other import save
        from corpkit.other import load
        from corpkit.model import MultiModel
        from corpkit.interrogation import Interrogation
        from corpkit.annotate import annotator
            from corpkit.process import make_dotfile
        from corpkit.annotate import annotator
        from corpkit.process import makesafe
                from corpkit.process import is_number
        from os.path import join, isfile, isdir
        from corpkit.constants import OPENER
            from corpkit.conll import parse_conll
            from corpkit.process import saferead
            from nltk import Tree
            from collections import OrderedDict
        from corpkit.constants import STRINGTYPE
        from corpkit.constants import STRINGTYPE
        from corpkit.interrogator import interrogator
        from corpkit.interrogation import Interrodict
        from corpkit.interrogator import interrogator
        from corpkit.configurations import configurations
            from os.path import join, isfile, isdir
        from corpkit.corpus import Corpora
        from corpkit.interrogation import Interrodict
        import re
        import operator
        import glob
        import os
        import re
        import os
        import operator
        import re
        import os
        import operator
        import os
            import pandas as pd
            import pandas as pd
            import pandas as pd
        import pandas as pd
        import random
        import os
        import os
        import os
        import os
            import os

                 corpora. A `list` can be a list of corpus paths or 
                 :class:`corpkit.corpus.Corpus` objects. )
    :type data: `str`/`list`
    """

    def __init__(self, data=False, **kwargs):

        self.name = None

        # if no arg, load every corpus in data dir
        if not data:
            data = 'data'
            
        # handle a folder containing corpora
        if isinstance(data, STRINGTYPE):
            if not os.path.isdir(data):
                if not os.path.isdir(os.path.join('data', data)):
                    raise ValueError('Corpora(str) needs to point to a directory.')
                else:
                    data = os.path.join('data', data)
            self.name = os.path.basename(data)
            data = sorted([join(data, d) for d in os.listdir(data)
                           if isdir(join(data, d)) and not d.startswith('.')])

        # otherwise, make a list of Corpus objects

        if not self.name:
            self.name = ','.join([os.path.basename(str(i)) for i in data])
    
        for index, i in enumerate(data):

            if isinstance(i, STRINGTYPE):