// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // Description: // build array of translators' file rules. // Input: // the value true means it will return the default file rules list. The default value // is gotten by the command translator. // the value false means it will return the file rules list of the current workspace // // global proc string[] np_getTranslatorDataFileRules(int $bUseDefaults) { string $results[]; string $ignoreList[] = np_getTranslatorIgnoreList(); string $primaryFileRuleList[] = np_getPrimaryProjectFileRules(true); string $secondaryFileRuleList[] = np_getSecondaryProjectFileRules(true); //add primary file rule list to ignoreList int $ingoreListSize = size($ignoreList); int $listSize = size($primaryFileRuleList); for($i = 0; $i < $listSize; $i += 3) { $ignoreList[$ingoreListSize++] = $primaryFileRuleList[$i+1]; } //add secondary file rule list to ignoreList $listSize = size($secondaryFileRuleList); for($i = 0; $i < $listSize; $i += 3) { $ignoreList[$ingoreListSize++] = $secondaryFileRuleList[$i+1]; } string $translatorsList[] = `translator -q -list`; $listSize = size($translatorsList); for($i = 0; $i < $listSize; $i++) { //See if this translator should be ignored if(stringArrayContains($translatorsList[$i] ,$ignoreList)) continue; //test for the existance of a translator if(!`translator -q -ld $translatorsList[$i]`) continue; $results[size($results)] = $translatorsList[$i]; if($bUseDefaults) { $results[size($results)] = `translator -q -dfr $translatorsList[$i]`; } else { $results[size($results)] = `workspace -q -fre $translatorsList[$i]`; } } return $results; }