def get_typelist(self):
        """
        This collects all avaliable types and applies include/exclude filters
        """
        typelist = []

        # convert type list into arrays if strings
        if isinstance(self.config['type_include'], basestring):
            self.config['type_include'] = self.config['type_include'].split()
        if isinstance(self.config['type_exclude'], basestring):
            self.config['type_exclude'] = self.config['type_exclude'].split()

        # remove any not in include list
        if self.config['type_include'] is None or len(
                self.config['type_include']) == 0:

            typelist = set()
            for line in self.get_output('t'):
                if line.startswith('t'):
                    typelist.add(line[1:].rstrip('\n'))
            typelist = list(typelist)
        else:
            typelist = self.config['type_include']

        # remove any in the exclude list
        if self.config['type_exclude'] is not None and len(
                self.config['type_include']) > 0:
            for t in self.config['type_exclude']:
                if t in typelist:
                    typelist.remove(t)

        return typelist

        This collects all avaliable types and applies include/exclude filters
        
src/collectors/filestat/filestat.py