protected override void Initialize(Settings modSettings) { base.Initialize(modSettings); MetaName = modSettings.GetString("metaname"); SplitKeywords = modSettings.GetBool("splitkeywords", true); Lookups.DropLookup(LookupName); thisLookup = Lookups.Get(LookupName); }
protected override bool Process(IInteraction parameters) { IEnumerable <string> keywords; object keywordSource = parameters [LookupKeyName]; if (SplitKeywords && (keywordSource is string)) { keywords = Splitter.Split((string)keywordSource); } else if (keywordSource is IEnumerable <object> ) { IEnumerable <object> keywordSourceEnumerable = (IEnumerable <object>)keywordSource; List <string> keywordStrings = new List <string> (); foreach (object keywordObject in keywordSourceEnumerable) { keywordStrings.Add((string)keywordObject); } keywords = keywordStrings; } else if (keywordSource is IEnumerable <string> ) { keywords = (IEnumerable <string>)keywordSource; } else { keywords = new List <string> (); } keywords = Lookups.GetKeylist(keywords); thisLookup.Add(new LookupEntry( keywords, parameters[MetaName].ToString(), parameters)); return(true); }
protected override bool Process(IInteraction parameters) { string queryText; int resultCount = 0; bool success = true; if (parameters.TryGetFallbackString(this.LookupKeyName, out queryText)) { IEnumerable <string> keylist = Lookups.GetKeylist(Splitter.Split(queryText), KeyCap); CleverSet <LookupEntry> results = Lookups.Get(LookupName).Find(keylist); foreach (LookupEntry result in results.Values) { if ((ResultCap != -1) && (resultCount++ >= ResultCap)) { success &= this.capreached.TryProcess(parameters); break; } else { success &= this.iterator.TryProcess(result.Parameters.Clone(parameters)); } } } if (count != null) { // jezus wat staat hier success &= this.count.TryProcess( new SimpleInteraction( parameters, "count", Lookups.Get( LookupName).AllItems.Count)); } return(success); }