MCPcopy
hub / github.com/openai/openai-python / _stringify_item

Method _stringify_item

src/openai/_qs.py:65–118  ·  view source on GitHub ↗
(
        self,
        key: str,
        value: Data,
        opts: Options,
    )

Source from the content-addressed store, hash-verified

63 return flatten([self._stringify_item(key, value, opts) for key, value in params.items()])
64
65 def _stringify_item(
66 self,
67 key: str,
68 value: Data,
69 opts: Options,
70 ) -> list[tuple[str, str]]:
71 if isinstance(value, Mapping):
72 items: list[tuple[str, str]] = []
73 nested_format = opts.nested_format
74 for subkey, subvalue in value.items():
75 items.extend(
76 self._stringify_item(
77 # TODO: error if unknown format
78 f"{key}.{subkey}" if nested_format == "dots" else f"{key}[{subkey}]",
79 subvalue,
80 opts,
81 )
82 )
83 return items
84
85 if isinstance(value, (list, tuple)):
86 array_format = opts.array_format
87 if array_format == "comma":
88 return [
89 (
90 key,
91 ",".join(self._primitive_value_to_str(item) for item in value if item is not None),
92 ),
93 ]
94 elif array_format == "repeat":
95 items = []
96 for item in value:
97 items.extend(self._stringify_item(key, item, opts))
98 return items
99 elif array_format == "indices":
100 items = []
101 for i, item in enumerate(value):
102 items.extend(self._stringify_item(f"{key}[{i}]", item, opts))
103 return items
104 elif array_format == "brackets":
105 items = []
106 key = key + "[]"
107 for item in value:
108 items.extend(self._stringify_item(key, item, opts))
109 return items
110 else:
111 raise NotImplementedError(
112 f"Unknown array_format value: {array_format}, choose from {', '.join(get_args(ArrayFormat))}"
113 )
114
115 serialised = self._primitive_value_to_str(value)
116 if not serialised:
117 return []
118 return [(key, serialised)]
119
120 def _primitive_value_to_str(self, value: PrimitiveData) -> str:
121 # copied from httpx

Callers 1

stringify_itemsMethod · 0.95

Calls 4

get_argsFunction · 0.70
itemsMethod · 0.45
extendMethod · 0.45

Tested by

no test coverage detected