LOPs - AW - block primvars & usd attrs

// Get input lists
string primvars[] = split(chs("primvars_input"), "\n");
string usdattrs[] = split(chs("usdattrs_input"), "\n");

// Clean whitespace
for (int i = 0; i < len(primvars); i++) {
primvars[i] = strip(primvars[i]);
}
for (int i = 0; i < len(usdattrs); i++) {
usdattrs[i] = strip(usdattrs[i]);
}

// Fetch primvars_list and attrs_list from /metadata
string metadata_path = "/metadata";
string metadata_primvars[] = usd_metadata(0, metadata_path, "customData:primvars_list");
string metadata_attrs[] = usd_metadata(0, metadata_path, "customData:usdattrs_list");

// Block matching primvars based on wildcard patterns
foreach (string pattern; primvars) {
if (pattern == "") continue;

foreach (string meta_pv; metadata_primvars) {
if (match(pattern, meta_pv)) {
usd_blockprimvar(0, @primpath, meta_pv);
}
}
}

// Block matching usdattrs based on wildcard patterns
foreach (string pattern; usdattrs) {
if (pattern == "") continue;

foreach (string meta_attr; metadata_attrs) {
if (match(pattern, meta_attr)) {
usd_blockattrib(0, @primpath, meta_attr);
}
}
}