

from glob import glob
from tqdm import tqdm


nlabels = 4
ncams = 19
nframes = 50


invalid = []
path = '/data/cv_datasets/processed/PD4D'
folders1 = glob(f'{path}/*')
folders1 = [f for f in folders1 if not f.endswith('.json')]
for f1 in tqdm(folders1):
    folders2 = glob(f'{f1}/*')
    valid = len(folders2) == nlabels
    if not valid:
        print('INVALID LABELS', f1, len(folders2))
        invalid.append(f1)
    else:
        for f2 in folders2:
            if not valid: 
                break
            if 'depth' in f2:
                folders3 = glob(f'{f2}/zbuffer/*')
            else:
                folders3 = glob(f'{f2}/*')
            valid = len(folders3) == ncams
            if not valid:
                print('INVALID CAMS', f2, len(folders3))
                invalid.append(f2)
                continue
            else:
                for f3 in folders3:
                    if not valid: 
                        break
                    folders4 = glob(f'{f3}/*')
                    valid = len(folders4) == nframes
                    if not valid:
                        print('INVALID FRAMES', f3, len(folders4))
                        invalid.append(f3)

for inv in invalid:
    print(inv)
        

