quick-start-connectors

Форк
0
36 строк · 1.0 Кб
1
import logging
2
from typing import Any
3
from .client import get_client
4

5
logger = logging.getLogger(__name__)
6

7

8
def serialize_results(data, mappings={}):
9
    """
10
    Serialize a list of dictionaries by transforming keys based on provided mappings
11
    and converting values to strings.
12

13
    Parameters:
14
    - data (list): A list of dictionaries to be serialized.
15
    - mappings (dict): A dictionary specifying key mappings for transformation.
16

17
    Returns:
18
    list: A serialized list of dictionaries with transformed keys and string-converted values.
19
    """
20

21
    def serialize_item(item):
22
        serialized_item = {}
23
        for k, v in item.items():
24
            key = k if k not in mappings else mappings[k]
25
            serialized_item[key] = (
26
                str(v) if not isinstance(v, list) else ", ".join(str(vl) for vl in v)
27
            )
28

29
        return serialized_item
30

31
    return list(map(serialize_item, data))
32

33

34
def search(query) -> list[dict[str, Any]]:
35
    client = get_client()
36
    return serialize_results(client.search(query), client.fields_mapping)
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.