def get_best_features(e, top_k=0, with_fields=False): strs = listify(jselect.select( '.description:contains("[PerFieldSimilarity]")', e)) vals = listify(jselect.select( '.description:contains("[PerFieldSimilarity]") ~ .value', e)) if with_fields: strs = (p_with_fields.match(str).group(1) for str in strs) else: strs = (p.match(str).group(1) for str in strs) feat = sorted(zip(vals, strs), reverse=True) return feat[0:top_k] if top_k else feat
def select_elements(self, json_string, expr): """ Возвращает список элементов из _json_string_, соответствующих [ http://jsonselect.org/ | JSONSelect] выражению. *Args:*\n _json_string_ - json-строка;\n _expr_ - JSONSelect выражение; *Return:*\n Список найденных элементов. Если элементы не найдены, то ``None`` *Example:*\n | *Settings* | *Value* | | Library | JsonValidator | | Library | OperatingSystem | | *Test Cases* | *Action* | *Argument* | *Argument* | | Select json elements | ${json_example}= | OperatingSystem.Get File | ${CURDIR}${/}json_example.json | | | ${json_elements}= | Select elements | ${json_example} | .author:contains("Evelyn Waugh")~.price | =>\n | 12.99 """ load_input_json = self.string_to_json(json_string) # парсинг jsonselect jsonselect.Parser(load_input_json) values = jsonselect.select(expr, load_input_json) return values
def select_elements (self, json_string, expr): """ Возвращает список элементов из _json_string_, соответствующих [ http://jsonselect.org/ | JSONSelect] выражению. *Args:*\n _json_string_ - json-строка;\n _expr_ - JSONSelect выражение; *Return:*\n Список найденных элементов. Если элементы не найдены, то ``None`` *Example:*\n | *Settings* | *Value* | | Library | JsonValidator | | Library | OperatingSystem | | *Test Cases* | *Action* | *Argument* | *Argument* | | Select json elements | ${json_example}= | OperatingSystem.Get File | ${CURDIR}${/}json_example.json | | | ${json_elements}= | Select elements | ${json_example} | .author:contains("Evelyn Waugh")~.price | =>\n | 12.99 """ load_input_json=self.string_to_json (json_string) # парсинг jsonselect jsonselect.Parser(load_input_json) values=jsonselect.select(expr, load_input_json) return values
def test_no_results_returns_none(self): self.assertEquals(jsonselect.select('.foobar', self.obj), None)
def test_syntax_error_returns_false(self): self.assertFalse(jsonselect.select('gibberish', self.obj))