# requires python-frontmatter==1.0.0 import frontmatter import glob import sys uids = {} files = glob.glob('**/*.markdown') files.extend(glob.glob('**/*.md')) for file in files: post = frontmatter.load(file) if 'uid' in post.keys(): uid = post['uid'] f = uids.get(uid, []) f.append(file) uids[uid] = f error = False for uid in uids: if len(uids[uid]) > 1: error = True print(f'{uid} used in multiple files:') for file in uids[uid]: print(f' {file}') if error: sys.exit(1)