public static FullLexicalModel GetWordInfo(string word, ExtraLexicalKnowledge lexFlags) { var request = new RestRequest("words", Method.GET); request.AddParameter("sp", word, ParameterType.GetOrPost); request.AddParameter("qe", "sp", ParameterType.GetOrPost); request.AddParameter(GetLexicalParam(lexFlags)); request.AddParameter("max", 1, ParameterType.GetOrPost); return(JSON.Deserialize <FullLexicalModel[]>(CLIENT.Execute(request).Content).Single()); }
public static Parameter GetLexicalParam(ExtraLexicalKnowledge flags) { string str = ""; int flagsNum = (int)flags; for (int i = 4; i >= 0; --i) { int num = Convert.ToInt32(Math.Pow(2, i)); if (flagsNum >= num) { flagsNum -= num; str += LEXICAL_FLAGS[i]; } } return(new Parameter() { Name = "md", Value = str, Type = ParameterType.GetOrPost }); }
public static FullLexicalModel[] Words(APIConstraints apiFlags, ExternalConstraints relFlags, ExtraLexicalKnowledge lexFlags, params string[] paramValues) { List <Parameter> parameters = new List <Parameter>(); if (apiFlags != APIConstraints.None) { parameters.AddRange(GetAPIParameters(apiFlags, paramValues.GetEnumerator())); } if (relFlags != ExternalConstraints.None) { parameters.Add(GetRelParam(relFlags, paramValues.Last())); } if (lexFlags != ExtraLexicalKnowledge.None) { parameters.Add(GetLexicalParam(lexFlags)); } var response = CLIENT.Execute( new RestRequest( "words", Method.GET ).AddOrUpdateParameters(parameters) ); return(JSON.Deserialize <FullLexicalModel[]>(response.Content)); }