static void woodyLoadRules(WoodyBot bot) { woodyBot(bot); bot.rules.clear(); L names = endingWithIC(".ctx", bot.fileNames()); // Find disabled folders for ping (S name : names) { L lines = lines(bot.getFile(name)); SS properties = ctxParseProperties(lines, 0).a; if (eq(properties.get("PROCESS"), "NO")) { S folder = dropFromLastSlash(name); if (bot.disabledFolders.add(folder + ".")) print("Disabling folder: " + folder); } } for ping (S name : names) { L lines = lines(bot.getFile(name)); S folder = dropFromLastSlash(name); if (woodyIsDisabledFolder(folder)) { print("Disabled: " + name); continue; } for i, S s over lines: { if (javaTokC(s).contains("RULE")) pcall { WoodyRule rule = getWoodyRuleFromSource(lines, i); rule.fullName = "Agent#" + folder.replace('/', '.') + "." + rule.nameInFile; bot.rules.put(rule.fullName, rule); } } } }