|
1 | 1 | """Assets domain namespace for the Kili Python SDK.""" |
2 | | -# pylint: disable=too-many-lines |
| 2 | +# pylint: disable=too-many-lines,too-many-public-methods |
3 | 3 |
|
4 | 4 | import warnings |
5 | 5 | from collections.abc import Generator |
@@ -266,6 +266,7 @@ class AssetsNamespace(DomainNamespace): # pylint: disable=too-many-public-metho |
266 | 266 | - update_priority(): Update asset priorities |
267 | 267 | - skip(): Skip an asset |
268 | 268 | - unskip(): Unskip an asset |
| 269 | + - add_consensus(): Activate or deactivate consensus on an asset |
269 | 270 |
|
270 | 271 | Examples: |
271 | 272 | >>> kili = Kili() |
@@ -2233,3 +2234,78 @@ def update_priority( |
2233 | 2234 | priorities=priorities if priorities is not None else [], |
2234 | 2235 | **kwargs, |
2235 | 2236 | ) |
| 2237 | + |
| 2238 | + @overload |
| 2239 | + def update_consensus( |
| 2240 | + self, |
| 2241 | + *, |
| 2242 | + asset_id: str, |
| 2243 | + project_id: str, |
| 2244 | + is_consensus: bool, |
| 2245 | + ) -> bool: |
| 2246 | + ... |
| 2247 | + |
| 2248 | + @overload |
| 2249 | + def update_consensus( |
| 2250 | + self, |
| 2251 | + *, |
| 2252 | + external_id: str, |
| 2253 | + project_id: str, |
| 2254 | + is_consensus: bool, |
| 2255 | + ) -> bool: |
| 2256 | + ... |
| 2257 | + |
| 2258 | + @typechecked |
| 2259 | + def update_consensus( |
| 2260 | + self, |
| 2261 | + *, |
| 2262 | + project_id: str, |
| 2263 | + is_consensus: bool, |
| 2264 | + asset_id: Optional[str] = None, |
| 2265 | + external_id: Optional[str] = None, |
| 2266 | + ) -> bool: |
| 2267 | + """Activate or deactivate consensus on an asset. |
| 2268 | +
|
| 2269 | + Args: |
| 2270 | + project_id: The project ID. |
| 2271 | + is_consensus: Whether to activate (True) or deactivate (False) consensus on the asset. |
| 2272 | + asset_id: The internal asset ID to modify. Either asset_id or external_id must be provided. |
| 2273 | + external_id: The external ID of the asset to modify. Either asset_id or external_id must be provided. |
| 2274 | +
|
| 2275 | + Returns: |
| 2276 | + The consensus value that was set (True if consensus was activated, False if deactivated). |
| 2277 | +
|
| 2278 | + Raises: |
| 2279 | + ValueError: If neither asset_id nor external_id is provided. |
| 2280 | +
|
| 2281 | + Examples: |
| 2282 | + >>> # Activate consensus on an asset using asset_id |
| 2283 | + >>> result = kili.assets.update_consensus( |
| 2284 | + ... project_id="my_project", |
| 2285 | + ... is_consensus=True, |
| 2286 | + ... asset_id="ckg22d81r0jrg0885unmuswj8" |
| 2287 | + ... ) |
| 2288 | + >>> # result is True |
| 2289 | +
|
| 2290 | + >>> # Activate consensus on an asset using external_id |
| 2291 | + >>> result = kili.assets.update_consensus( |
| 2292 | + ... project_id="my_project", |
| 2293 | + ... is_consensus=True, |
| 2294 | + ... external_id="my_asset_001" |
| 2295 | + ... ) |
| 2296 | + >>> # result is True |
| 2297 | +
|
| 2298 | + >>> # Deactivate consensus on an asset |
| 2299 | + >>> result = kili.assets.update_consensus( |
| 2300 | + ... project_id="my_project", |
| 2301 | + ... is_consensus=False, |
| 2302 | + ... asset_id="ckg22d81r0jrg0885unmuswj8" |
| 2303 | + ... ) |
| 2304 | + >>> # result is False |
| 2305 | + """ |
| 2306 | + return self._client.update_asset_consensus( |
| 2307 | + project_id=project_id, |
| 2308 | + is_consensus=is_consensus, |
| 2309 | + asset_id=asset_id, |
| 2310 | + external_id=external_id, |
| 2311 | + ) |
0 commit comments