def _get_dsnames(cls, data, ignore_keys=['attrs', 'plotter', 'ds'],
                     concat_dim=False):
        """Recursive method to get all the file names out of a dictionary
        `data` created with the :meth`array_info` method"""
        def filter_ignores(item):
            return item[0] not in ignore_keys and isinstance(item[1], dict)
        if 'fname' in data:
            return {tuple(
                [data['fname'], data['store']] +
                ([data.get('concat_dim')] if concat_dim else []))}
        return set(chain(*map(partial(cls._get_dsnames, concat_dim=concat_dim,
                                      ignore_keys=ignore_keys),
                              dict(filter(filter_ignores,
                                          six.iteritems(data))).values())))
def _get_dsnames ( cls , data , ignore_keys = [ 'attrs' , 'plotter' , 'ds' ] , concat_dim = False ) : def filter_ignores ( item ) : return item [ 0 ] not in ignore_keys and isinstance ( item [ 1 ] , dict ) if 'fname' in data : return { tuple ( [ data [ 'fname' ] , data [ 'store' ] ] + ( [ data . get ( 'concat_dim' ) ] if concat_dim else [ ] ) ) } return set ( chain ( * map ( partial ( cls . _get_dsnames , concat_dim = concat_dim , ignore_keys = ignore_keys ) , dict ( filter ( filter_ignores , six . iteritems ( data ) ) ) . values ( ) ) ) )
Recursive method to get all the file names out of a dictionary
        `data` created with the :meth`array_info` method