in rdk/rdk.py [0:0]
def __get_rule_list_for_command(self, Command="deploy"):
rule_names = []
if self.args.all:
d = '.'
for obj_name in os.listdir('.'):
obj_path = os.path.join('.', obj_name)
if os.path.isdir(obj_path) and not obj_name == 'rdk':
for file_name in os.listdir(obj_path):
if obj_name not in rule_names:
if os.path.exists(os.path.join(obj_path, 'parameters.json')):
rule_names.append(obj_name)
else:
if file_name.split('.')[0] == obj_name:
rule_names.append(obj_name)
if os.path.exists(os.path.join(obj_path, 'src', 'main', 'java', 'com', 'rdk', 'RuleCode.java')):
rule_names.append(obj_name)
if os.path.exists(os.path.join(obj_path, 'RuleCode.cs')):
rule_names.append(obj_name)
elif self.args.rulesets:
for obj_name in os.listdir('.'):
params_file_path = os.path.join('.', obj_name, parameter_file_name)
if os.path.isfile(params_file_path):
parameters_file = open(params_file_path, 'r')
my_params = json.load(parameters_file)
parameters_file.close()
if 'RuleSets' in my_params['Parameters']:
s_input = set(self.args.rulesets)
s_params = set(my_params['Parameters']['RuleSets'])
if s_input.intersection(s_params):
rule_names.append(obj_name)
elif self.args.rulename:
for rule_name in self.args.rulename:
cleaned_rule_name = self.__clean_rule_name(rule_name)
if os.path.isdir(cleaned_rule_name):
rule_names.append(cleaned_rule_name)
else:
print ('Invalid Option: Specify Rule Name or RuleSet. Run "rdk %s -h" for more info.'%(Command))
sys.exit(1)
if len(rule_names) == 0:
print("No matching rule directories found.")
sys.exit(1)
#Check rule names to make sure none are too long. This is needed to catch Rules created before length constraint was added.
for name in rule_names:
if len(name) > 128:
print("Error: Found Rule with name over 128 characters: {} \n Recreate the Rule with a shorter name.".format(name))
sys.exit(1)
return rule_names