bytekit-sdk 0.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bytekit/__init__.py +8 -0
- bytekit/api/__init__.py +1 -0
- bytekit/api/account/__init__.py +1 -0
- bytekit/api/account/get_account.py +157 -0
- bytekit/api/bulk/__init__.py +1 -0
- bytekit/api/bulk/create_bulk.py +204 -0
- bytekit/api/bulk/delete_bulk.py +177 -0
- bytekit/api/bulk/get_bulk.py +157 -0
- bytekit/api/bulk/list_bulk_screenshots.py +152 -0
- bytekit/api/fetch/__init__.py +1 -0
- bytekit/api/fetch/get_fetch.py +254 -0
- bytekit/api/fetch/post_fetch.py +178 -0
- bytekit/api/fetch_bulk/__init__.py +1 -0
- bytekit/api/fetch_bulk/create_fetch_bulk.py +180 -0
- bytekit/api/fetch_bulk/get_fetch_bulk.py +157 -0
- bytekit/api/monitors/__init__.py +1 -0
- bytekit/api/monitors/create_monitor.py +180 -0
- bytekit/api/monitors/delete_monitor.py +155 -0
- bytekit/api/monitors/get_monitor.py +157 -0
- bytekit/api/monitors/list_monitor_captures.py +188 -0
- bytekit/api/monitors/list_monitors.py +193 -0
- bytekit/api/monitors/update_monitor.py +191 -0
- bytekit/api/scrape/__init__.py +1 -0
- bytekit/api/scrape/create_scrape.py +197 -0
- bytekit/api/scrape/get_scrape.py +231 -0
- bytekit/api/scrape_bulk/__init__.py +1 -0
- bytekit/api/scrape_bulk/create_scrape_bulk.py +188 -0
- bytekit/api/scrape_bulk/get_scrape_bulk.py +157 -0
- bytekit/api/screenshots/__init__.py +1 -0
- bytekit/api/screenshots/create_screenshot.py +208 -0
- bytekit/api/screenshots/get_screenshot.py +177 -0
- bytekit/api/search/__init__.py +1 -0
- bytekit/api/search/create_search.py +225 -0
- bytekit/api/sitemap/__init__.py +1 -0
- bytekit/api/sitemap/create_sitemap.py +192 -0
- bytekit/api/sitemap/get_sitemap.py +157 -0
- bytekit/api/usage/__init__.py +1 -0
- bytekit/api/usage/get_usage.py +126 -0
- bytekit/api/usage/get_usage_by_endpoint.py +215 -0
- bytekit/api/usage/get_usage_daily.py +203 -0
- bytekit/api/webhooks/__init__.py +1 -0
- bytekit/api/webhooks/list_webhook_deliveries.py +214 -0
- bytekit/api/webhooks/retry_webhook_delivery.py +165 -0
- bytekit/client.py +418 -0
- bytekit/errors.py +18 -0
- bytekit/models/__init__.py +401 -0
- bytekit/models/account_bearer_response.py +207 -0
- bytekit/models/account_bearer_response_api_key.py +134 -0
- bytekit/models/account_bearer_response_api_key_environment.py +8 -0
- bytekit/models/account_bearer_response_auto_topup.py +83 -0
- bytekit/models/account_bearer_response_plan.py +150 -0
- bytekit/models/account_bearer_response_subscription.py +85 -0
- bytekit/models/account_bearer_response_subscription_plan.py +99 -0
- bytekit/models/account_bearer_response_subscription_status.py +10 -0
- bytekit/models/account_session_response.py +164 -0
- bytekit/models/account_session_response_notifications.py +51 -0
- bytekit/models/account_session_response_plan.py +150 -0
- bytekit/models/bandwidth_balance.py +91 -0
- bytekit/models/capture_response.py +216 -0
- bytekit/models/capture_response_outcome.py +10 -0
- bytekit/models/clip.py +83 -0
- bytekit/models/cookie.py +90 -0
- bytekit/models/create_bulk_body.py +155 -0
- bytekit/models/create_bulk_body_defaults.py +423 -0
- bytekit/models/create_bulk_body_defaults_device.py +9 -0
- bytekit/models/create_bulk_body_defaults_device_scale_factor_type_1.py +9 -0
- bytekit/models/create_bulk_body_defaults_device_scale_factor_type_2_type_1.py +9 -0
- bytekit/models/create_bulk_body_defaults_device_scale_factor_type_3_type_1.py +9 -0
- bytekit/models/create_bulk_body_defaults_formats_item.py +12 -0
- bytekit/models/create_bulk_body_defaults_type.py +9 -0
- bytekit/models/create_bulk_body_defaults_viewport_type_0.py +67 -0
- bytekit/models/create_bulk_body_defaults_wait_until.py +10 -0
- bytekit/models/create_bulk_body_items_item.py +380 -0
- bytekit/models/create_bulk_body_items_item_device.py +9 -0
- bytekit/models/create_bulk_body_items_item_formats_item.py +12 -0
- bytekit/models/create_bulk_body_items_item_scenario.py +10 -0
- bytekit/models/create_bulk_body_items_item_type.py +9 -0
- bytekit/models/create_bulk_body_items_item_viewport_type_0.py +67 -0
- bytekit/models/create_bulk_body_items_item_wait_until.py +10 -0
- bytekit/models/create_bulk_response_202.py +164 -0
- bytekit/models/create_bulk_response_202_status.py +10 -0
- bytekit/models/create_fetch_bulk_body.py +161 -0
- bytekit/models/create_fetch_bulk_body_defaults.py +91 -0
- bytekit/models/create_fetch_bulk_body_defaults_format.py +9 -0
- bytekit/models/create_fetch_bulk_body_metadata.py +44 -0
- bytekit/models/create_fetch_bulk_body_urls_item_type_1.py +102 -0
- bytekit/models/create_fetch_bulk_body_urls_item_type_1_format.py +9 -0
- bytekit/models/create_fetch_bulk_response_202.py +44 -0
- bytekit/models/create_scrape_bulk_body.py +179 -0
- bytekit/models/create_scrape_bulk_body_custom.py +52 -0
- bytekit/models/create_scrape_bulk_body_defaults.py +167 -0
- bytekit/models/create_scrape_bulk_body_defaults_formats_item.py +12 -0
- bytekit/models/create_scrape_bulk_body_defaults_headers.py +44 -0
- bytekit/models/create_scrape_bulk_body_items_item.py +226 -0
- bytekit/models/create_scrape_bulk_body_items_item_custom.py +50 -0
- bytekit/models/create_scrape_bulk_body_items_item_formats_item.py +12 -0
- bytekit/models/create_scrape_bulk_body_items_item_headers.py +44 -0
- bytekit/models/create_scrape_bulk_body_items_item_metadata.py +44 -0
- bytekit/models/create_scrape_bulk_response_202.py +166 -0
- bytekit/models/create_scrape_bulk_response_202_status.py +10 -0
- bytekit/models/create_search_body.py +140 -0
- bytekit/models/create_search_body_date_range.py +13 -0
- bytekit/models/create_search_body_type.py +10 -0
- bytekit/models/create_search_response_200.py +119 -0
- bytekit/models/create_search_response_200_results_item.py +161 -0
- bytekit/models/create_search_response_200_results_item_image.py +113 -0
- bytekit/models/create_search_response_502.py +46 -0
- bytekit/models/create_search_response_502_error.py +8 -0
- bytekit/models/credit_balance.py +91 -0
- bytekit/models/delete_bulk_response_200.py +164 -0
- bytekit/models/delete_bulk_response_200_status.py +11 -0
- bytekit/models/error.py +83 -0
- bytekit/models/error_error.py +100 -0
- bytekit/models/error_status.py +8 -0
- bytekit/models/fetch_request.py +276 -0
- bytekit/models/fetch_request_cache_ttl_type_1.py +8 -0
- bytekit/models/fetch_request_custom.py +48 -0
- bytekit/models/fetch_request_format.py +9 -0
- bytekit/models/fetch_request_markdown_images.py +11 -0
- bytekit/models/fetch_request_markdown_links.py +11 -0
- bytekit/models/fetch_request_markdown_mode.py +10 -0
- bytekit/models/get_bulk_response_200.py +164 -0
- bytekit/models/get_bulk_response_200_status.py +11 -0
- bytekit/models/get_fetch_bulk_response_200.py +44 -0
- bytekit/models/get_fetch_cache_ttl_type_1.py +8 -0
- bytekit/models/get_fetch_format.py +9 -0
- bytekit/models/get_scrape_bulk_response_200.py +164 -0
- bytekit/models/get_scrape_bulk_response_200_status.py +11 -0
- bytekit/models/get_usage_by_endpoint_response_200.py +114 -0
- bytekit/models/get_usage_by_endpoint_response_200_rows_item.py +90 -0
- bytekit/models/get_usage_by_endpoint_response_200_rows_item_endpoint.py +17 -0
- bytekit/models/get_usage_by_endpoint_response_200_totals.py +67 -0
- bytekit/models/get_usage_daily_response_200.py +97 -0
- bytekit/models/get_usage_daily_response_200_data_item.py +219 -0
- bytekit/models/get_usage_response_200.py +344 -0
- bytekit/models/get_usage_response_200_plan_type.py +10 -0
- bytekit/models/list_bulk_screenshots_response_200.py +44 -0
- bytekit/models/list_monitor_captures_response_200.py +101 -0
- bytekit/models/list_monitors_response_200.py +101 -0
- bytekit/models/list_monitors_status.py +12 -0
- bytekit/models/list_webhook_deliveries_response_200.py +101 -0
- bytekit/models/list_webhook_deliveries_status.py +11 -0
- bytekit/models/metadata.py +44 -0
- bytekit/models/monitor_create_request.py +219 -0
- bytekit/models/monitor_create_request_interval_type.py +11 -0
- bytekit/models/monitor_create_request_notify_on.py +9 -0
- bytekit/models/monitor_create_request_options.py +44 -0
- bytekit/models/monitor_create_request_scrape_options.py +44 -0
- bytekit/models/monitor_create_request_type.py +9 -0
- bytekit/models/monitor_create_request_webhook_headers.py +44 -0
- bytekit/models/monitor_create_response.py +423 -0
- bytekit/models/monitor_response.py +411 -0
- bytekit/models/monitor_response_interval_type.py +11 -0
- bytekit/models/monitor_response_metadata_type_0.py +44 -0
- bytekit/models/monitor_response_status.py +12 -0
- bytekit/models/monitor_response_type.py +9 -0
- bytekit/models/monitor_response_webhook_headers_type_0.py +44 -0
- bytekit/models/monitor_update_request.py +223 -0
- bytekit/models/monitor_update_request_interval_type.py +11 -0
- bytekit/models/monitor_update_request_notify_on.py +9 -0
- bytekit/models/monitor_update_request_options.py +44 -0
- bytekit/models/monitor_update_request_scrape_options.py +44 -0
- bytekit/models/monitor_update_request_status.py +9 -0
- bytekit/models/monitor_update_request_webhook_headers.py +44 -0
- bytekit/models/scrape_error_envelope.py +113 -0
- bytekit/models/scrape_error_envelope_error.py +93 -0
- bytekit/models/scrape_error_envelope_error_code.py +18 -0
- bytekit/models/scrape_error_envelope_schema_version.py +8 -0
- bytekit/models/scrape_error_envelope_status.py +8 -0
- bytekit/models/scrape_formats.py +183 -0
- bytekit/models/scrape_markdown_tokens.py +75 -0
- bytekit/models/scrape_metadata.py +262 -0
- bytekit/models/scrape_queued_envelope.py +124 -0
- bytekit/models/scrape_queued_envelope_schema_version.py +8 -0
- bytekit/models/scrape_queued_envelope_status.py +8 -0
- bytekit/models/scrape_request.py +485 -0
- bytekit/models/scrape_request_cache_ttl_type_1.py +8 -0
- bytekit/models/scrape_request_custom.py +48 -0
- bytekit/models/scrape_request_events_item.py +10 -0
- bytekit/models/scrape_request_formats_item.py +12 -0
- bytekit/models/scrape_request_headers.py +44 -0
- bytekit/models/scrape_request_markdown_images.py +11 -0
- bytekit/models/scrape_request_markdown_links.py +11 -0
- bytekit/models/scrape_request_markdown_mode.py +10 -0
- bytekit/models/scrape_request_token_encoding.py +9 -0
- bytekit/models/scrape_request_x_internal_scrape_path.py +8 -0
- bytekit/models/scrape_scored_image.py +128 -0
- bytekit/models/scrape_scored_link.py +94 -0
- bytekit/models/scrape_stats.py +75 -0
- bytekit/models/scrape_success_envelope.py +345 -0
- bytekit/models/scrape_success_envelope_cache.py +10 -0
- bytekit/models/scrape_success_envelope_custom.py +48 -0
- bytekit/models/scrape_success_envelope_schema_version.py +8 -0
- bytekit/models/scrape_success_envelope_status.py +8 -0
- bytekit/models/scrape_table.py +96 -0
- bytekit/models/scrape_table_kind.py +10 -0
- bytekit/models/scrape_warning.py +88 -0
- bytekit/models/scrape_warning_code.py +17 -0
- bytekit/models/screenshot_request.py +445 -0
- bytekit/models/screenshot_request_device.py +9 -0
- bytekit/models/screenshot_request_device_scale_factor_type_1.py +9 -0
- bytekit/models/screenshot_request_device_scale_factor_type_2_type_1.py +9 -0
- bytekit/models/screenshot_request_device_scale_factor_type_3_type_1.py +9 -0
- bytekit/models/screenshot_request_format.py +9 -0
- bytekit/models/screenshot_request_headers.py +44 -0
- bytekit/models/screenshot_request_wait_until.py +10 -0
- bytekit/models/screenshot_response.py +264 -0
- bytekit/models/screenshot_response_status.py +11 -0
- bytekit/models/sitemap_request.py +210 -0
- bytekit/models/sitemap_request_process_type_0.py +90 -0
- bytekit/models/sitemap_request_process_type_0_options.py +44 -0
- bytekit/models/sitemap_request_strategy.py +10 -0
- bytekit/models/sitemap_response.py +418 -0
- bytekit/models/sitemap_response_cache.py +10 -0
- bytekit/models/sitemap_response_metadata_type_0.py +44 -0
- bytekit/models/sitemap_response_process_type_0.py +44 -0
- bytekit/models/sitemap_response_sources_type_0.py +44 -0
- bytekit/models/sitemap_response_status.py +11 -0
- bytekit/models/viewport.py +67 -0
- bytekit/models/webhook_delivery_response.py +270 -0
- bytekit/models/webhook_delivery_response_event_type.py +14 -0
- bytekit/models/webhook_delivery_response_status.py +11 -0
- bytekit/py.typed +0 -0
- bytekit/types.py +54 -0
- bytekit_sdk-0.3.0.dist-info/METADATA +141 -0
- bytekit_sdk-0.3.0.dist-info/RECORD +227 -0
- bytekit_sdk-0.3.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import (
|
|
3
|
+
TYPE_CHECKING,
|
|
4
|
+
Any,
|
|
5
|
+
TypeVar,
|
|
6
|
+
Union,
|
|
7
|
+
cast,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from attrs import define as _attrs_define
|
|
11
|
+
from attrs import field as _attrs_field
|
|
12
|
+
|
|
13
|
+
from ..types import UNSET, Unset
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from ..models.create_fetch_bulk_body_defaults import CreateFetchBulkBodyDefaults
|
|
17
|
+
from ..models.create_fetch_bulk_body_metadata import CreateFetchBulkBodyMetadata
|
|
18
|
+
from ..models.create_fetch_bulk_body_urls_item_type_1 import (
|
|
19
|
+
CreateFetchBulkBodyUrlsItemType1,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
T = TypeVar("T", bound="CreateFetchBulkBody")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@_attrs_define
|
|
27
|
+
class CreateFetchBulkBody:
|
|
28
|
+
"""
|
|
29
|
+
Attributes:
|
|
30
|
+
urls (list[Union['CreateFetchBulkBodyUrlsItemType1', str]]):
|
|
31
|
+
webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
|
|
32
|
+
scheme_unsupported)
|
|
33
|
+
defaults (Union[Unset, CreateFetchBulkBodyDefaults]):
|
|
34
|
+
webhook_secret (Union[Unset, str]):
|
|
35
|
+
metadata (Union[Unset, CreateFetchBulkBodyMetadata]):
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
urls: list[Union["CreateFetchBulkBodyUrlsItemType1", str]]
|
|
39
|
+
webhook_url: str
|
|
40
|
+
defaults: Union[Unset, "CreateFetchBulkBodyDefaults"] = UNSET
|
|
41
|
+
webhook_secret: Union[Unset, str] = UNSET
|
|
42
|
+
metadata: Union[Unset, "CreateFetchBulkBodyMetadata"] = UNSET
|
|
43
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
44
|
+
|
|
45
|
+
def to_dict(self) -> dict[str, Any]:
|
|
46
|
+
from ..models.create_fetch_bulk_body_urls_item_type_1 import (
|
|
47
|
+
CreateFetchBulkBodyUrlsItemType1,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
urls = []
|
|
51
|
+
for urls_item_data in self.urls:
|
|
52
|
+
urls_item: Union[dict[str, Any], str]
|
|
53
|
+
if isinstance(urls_item_data, CreateFetchBulkBodyUrlsItemType1):
|
|
54
|
+
urls_item = urls_item_data.to_dict()
|
|
55
|
+
else:
|
|
56
|
+
urls_item = urls_item_data
|
|
57
|
+
urls.append(urls_item)
|
|
58
|
+
|
|
59
|
+
webhook_url = self.webhook_url
|
|
60
|
+
|
|
61
|
+
defaults: Union[Unset, dict[str, Any]] = UNSET
|
|
62
|
+
if not isinstance(self.defaults, Unset):
|
|
63
|
+
defaults = self.defaults.to_dict()
|
|
64
|
+
|
|
65
|
+
webhook_secret = self.webhook_secret
|
|
66
|
+
|
|
67
|
+
metadata: Union[Unset, dict[str, Any]] = UNSET
|
|
68
|
+
if not isinstance(self.metadata, Unset):
|
|
69
|
+
metadata = self.metadata.to_dict()
|
|
70
|
+
|
|
71
|
+
field_dict: dict[str, Any] = {}
|
|
72
|
+
field_dict.update(self.additional_properties)
|
|
73
|
+
field_dict.update(
|
|
74
|
+
{
|
|
75
|
+
"urls": urls,
|
|
76
|
+
"webhook_url": webhook_url,
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
if defaults is not UNSET:
|
|
80
|
+
field_dict["defaults"] = defaults
|
|
81
|
+
if webhook_secret is not UNSET:
|
|
82
|
+
field_dict["webhook_secret"] = webhook_secret
|
|
83
|
+
if metadata is not UNSET:
|
|
84
|
+
field_dict["metadata"] = metadata
|
|
85
|
+
|
|
86
|
+
return field_dict
|
|
87
|
+
|
|
88
|
+
@classmethod
|
|
89
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
90
|
+
from ..models.create_fetch_bulk_body_defaults import CreateFetchBulkBodyDefaults
|
|
91
|
+
from ..models.create_fetch_bulk_body_metadata import CreateFetchBulkBodyMetadata
|
|
92
|
+
from ..models.create_fetch_bulk_body_urls_item_type_1 import (
|
|
93
|
+
CreateFetchBulkBodyUrlsItemType1,
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
d = dict(src_dict)
|
|
97
|
+
urls = []
|
|
98
|
+
_urls = d.pop("urls")
|
|
99
|
+
for urls_item_data in _urls:
|
|
100
|
+
|
|
101
|
+
def _parse_urls_item(
|
|
102
|
+
data: object,
|
|
103
|
+
) -> Union["CreateFetchBulkBodyUrlsItemType1", str]:
|
|
104
|
+
try:
|
|
105
|
+
if not isinstance(data, dict):
|
|
106
|
+
raise TypeError()
|
|
107
|
+
urls_item_type_1 = CreateFetchBulkBodyUrlsItemType1.from_dict(data)
|
|
108
|
+
|
|
109
|
+
return urls_item_type_1
|
|
110
|
+
except: # noqa: E722
|
|
111
|
+
pass
|
|
112
|
+
return cast(Union["CreateFetchBulkBodyUrlsItemType1", str], data)
|
|
113
|
+
|
|
114
|
+
urls_item = _parse_urls_item(urls_item_data)
|
|
115
|
+
|
|
116
|
+
urls.append(urls_item)
|
|
117
|
+
|
|
118
|
+
webhook_url = d.pop("webhook_url")
|
|
119
|
+
|
|
120
|
+
_defaults = d.pop("defaults", UNSET)
|
|
121
|
+
defaults: Union[Unset, CreateFetchBulkBodyDefaults]
|
|
122
|
+
if isinstance(_defaults, Unset):
|
|
123
|
+
defaults = UNSET
|
|
124
|
+
else:
|
|
125
|
+
defaults = CreateFetchBulkBodyDefaults.from_dict(_defaults)
|
|
126
|
+
|
|
127
|
+
webhook_secret = d.pop("webhook_secret", UNSET)
|
|
128
|
+
|
|
129
|
+
_metadata = d.pop("metadata", UNSET)
|
|
130
|
+
metadata: Union[Unset, CreateFetchBulkBodyMetadata]
|
|
131
|
+
if isinstance(_metadata, Unset):
|
|
132
|
+
metadata = UNSET
|
|
133
|
+
else:
|
|
134
|
+
metadata = CreateFetchBulkBodyMetadata.from_dict(_metadata)
|
|
135
|
+
|
|
136
|
+
create_fetch_bulk_body = cls(
|
|
137
|
+
urls=urls,
|
|
138
|
+
webhook_url=webhook_url,
|
|
139
|
+
defaults=defaults,
|
|
140
|
+
webhook_secret=webhook_secret,
|
|
141
|
+
metadata=metadata,
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
create_fetch_bulk_body.additional_properties = d
|
|
145
|
+
return create_fetch_bulk_body
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
def additional_keys(self) -> list[str]:
|
|
149
|
+
return list(self.additional_properties.keys())
|
|
150
|
+
|
|
151
|
+
def __getitem__(self, key: str) -> Any:
|
|
152
|
+
return self.additional_properties[key]
|
|
153
|
+
|
|
154
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
155
|
+
self.additional_properties[key] = value
|
|
156
|
+
|
|
157
|
+
def __delitem__(self, key: str) -> None:
|
|
158
|
+
del self.additional_properties[key]
|
|
159
|
+
|
|
160
|
+
def __contains__(self, key: str) -> bool:
|
|
161
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import (
|
|
3
|
+
Any,
|
|
4
|
+
TypeVar,
|
|
5
|
+
Union,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..models.create_fetch_bulk_body_defaults_format import (
|
|
12
|
+
CreateFetchBulkBodyDefaultsFormat,
|
|
13
|
+
)
|
|
14
|
+
from ..types import UNSET, Unset
|
|
15
|
+
|
|
16
|
+
T = TypeVar("T", bound="CreateFetchBulkBodyDefaults")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@_attrs_define
|
|
20
|
+
class CreateFetchBulkBodyDefaults:
|
|
21
|
+
"""
|
|
22
|
+
Attributes:
|
|
23
|
+
format_ (Union[Unset, CreateFetchBulkBodyDefaultsFormat]):
|
|
24
|
+
country (Union[Unset, str]): Default: 'US'.
|
|
25
|
+
cache_ttl (Union[Unset, str]): Default: '48h'.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
format_: Union[Unset, CreateFetchBulkBodyDefaultsFormat] = UNSET
|
|
29
|
+
country: Union[Unset, str] = "US"
|
|
30
|
+
cache_ttl: Union[Unset, str] = "48h"
|
|
31
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
32
|
+
|
|
33
|
+
def to_dict(self) -> dict[str, Any]:
|
|
34
|
+
format_: Union[Unset, str] = UNSET
|
|
35
|
+
if not isinstance(self.format_, Unset):
|
|
36
|
+
format_ = self.format_.value
|
|
37
|
+
|
|
38
|
+
country = self.country
|
|
39
|
+
|
|
40
|
+
cache_ttl = self.cache_ttl
|
|
41
|
+
|
|
42
|
+
field_dict: dict[str, Any] = {}
|
|
43
|
+
field_dict.update(self.additional_properties)
|
|
44
|
+
field_dict.update({})
|
|
45
|
+
if format_ is not UNSET:
|
|
46
|
+
field_dict["format"] = format_
|
|
47
|
+
if country is not UNSET:
|
|
48
|
+
field_dict["country"] = country
|
|
49
|
+
if cache_ttl is not UNSET:
|
|
50
|
+
field_dict["cache_ttl"] = cache_ttl
|
|
51
|
+
|
|
52
|
+
return field_dict
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
56
|
+
d = dict(src_dict)
|
|
57
|
+
_format_ = d.pop("format", UNSET)
|
|
58
|
+
format_: Union[Unset, CreateFetchBulkBodyDefaultsFormat]
|
|
59
|
+
if isinstance(_format_, Unset):
|
|
60
|
+
format_ = UNSET
|
|
61
|
+
else:
|
|
62
|
+
format_ = CreateFetchBulkBodyDefaultsFormat(_format_)
|
|
63
|
+
|
|
64
|
+
country = d.pop("country", UNSET)
|
|
65
|
+
|
|
66
|
+
cache_ttl = d.pop("cache_ttl", UNSET)
|
|
67
|
+
|
|
68
|
+
create_fetch_bulk_body_defaults = cls(
|
|
69
|
+
format_=format_,
|
|
70
|
+
country=country,
|
|
71
|
+
cache_ttl=cache_ttl,
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
create_fetch_bulk_body_defaults.additional_properties = d
|
|
75
|
+
return create_fetch_bulk_body_defaults
|
|
76
|
+
|
|
77
|
+
@property
|
|
78
|
+
def additional_keys(self) -> list[str]:
|
|
79
|
+
return list(self.additional_properties.keys())
|
|
80
|
+
|
|
81
|
+
def __getitem__(self, key: str) -> Any:
|
|
82
|
+
return self.additional_properties[key]
|
|
83
|
+
|
|
84
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
85
|
+
self.additional_properties[key] = value
|
|
86
|
+
|
|
87
|
+
def __delitem__(self, key: str) -> None:
|
|
88
|
+
del self.additional_properties[key]
|
|
89
|
+
|
|
90
|
+
def __contains__(self, key: str) -> bool:
|
|
91
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="CreateFetchBulkBodyMetadata")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class CreateFetchBulkBodyMetadata:
|
|
12
|
+
""" """
|
|
13
|
+
|
|
14
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
15
|
+
|
|
16
|
+
def to_dict(self) -> dict[str, Any]:
|
|
17
|
+
field_dict: dict[str, Any] = {}
|
|
18
|
+
field_dict.update(self.additional_properties)
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
24
|
+
d = dict(src_dict)
|
|
25
|
+
create_fetch_bulk_body_metadata = cls()
|
|
26
|
+
|
|
27
|
+
create_fetch_bulk_body_metadata.additional_properties = d
|
|
28
|
+
return create_fetch_bulk_body_metadata
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> list[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import (
|
|
3
|
+
Any,
|
|
4
|
+
TypeVar,
|
|
5
|
+
Union,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..models.create_fetch_bulk_body_urls_item_type_1_format import (
|
|
12
|
+
CreateFetchBulkBodyUrlsItemType1Format,
|
|
13
|
+
)
|
|
14
|
+
from ..types import UNSET, Unset
|
|
15
|
+
|
|
16
|
+
T = TypeVar("T", bound="CreateFetchBulkBodyUrlsItemType1")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@_attrs_define
|
|
20
|
+
class CreateFetchBulkBodyUrlsItemType1:
|
|
21
|
+
"""
|
|
22
|
+
Attributes:
|
|
23
|
+
url (str):
|
|
24
|
+
format_ (Union[Unset, CreateFetchBulkBodyUrlsItemType1Format]):
|
|
25
|
+
country (Union[Unset, str]):
|
|
26
|
+
cache_ttl (Union[Unset, str]):
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
url: str
|
|
30
|
+
format_: Union[Unset, CreateFetchBulkBodyUrlsItemType1Format] = UNSET
|
|
31
|
+
country: Union[Unset, str] = UNSET
|
|
32
|
+
cache_ttl: Union[Unset, str] = UNSET
|
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
34
|
+
|
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
|
36
|
+
url = self.url
|
|
37
|
+
|
|
38
|
+
format_: Union[Unset, str] = UNSET
|
|
39
|
+
if not isinstance(self.format_, Unset):
|
|
40
|
+
format_ = self.format_.value
|
|
41
|
+
|
|
42
|
+
country = self.country
|
|
43
|
+
|
|
44
|
+
cache_ttl = self.cache_ttl
|
|
45
|
+
|
|
46
|
+
field_dict: dict[str, Any] = {}
|
|
47
|
+
field_dict.update(self.additional_properties)
|
|
48
|
+
field_dict.update(
|
|
49
|
+
{
|
|
50
|
+
"url": url,
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
if format_ is not UNSET:
|
|
54
|
+
field_dict["format"] = format_
|
|
55
|
+
if country is not UNSET:
|
|
56
|
+
field_dict["country"] = country
|
|
57
|
+
if cache_ttl is not UNSET:
|
|
58
|
+
field_dict["cache_ttl"] = cache_ttl
|
|
59
|
+
|
|
60
|
+
return field_dict
|
|
61
|
+
|
|
62
|
+
@classmethod
|
|
63
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
64
|
+
d = dict(src_dict)
|
|
65
|
+
url = d.pop("url")
|
|
66
|
+
|
|
67
|
+
_format_ = d.pop("format", UNSET)
|
|
68
|
+
format_: Union[Unset, CreateFetchBulkBodyUrlsItemType1Format]
|
|
69
|
+
if isinstance(_format_, Unset):
|
|
70
|
+
format_ = UNSET
|
|
71
|
+
else:
|
|
72
|
+
format_ = CreateFetchBulkBodyUrlsItemType1Format(_format_)
|
|
73
|
+
|
|
74
|
+
country = d.pop("country", UNSET)
|
|
75
|
+
|
|
76
|
+
cache_ttl = d.pop("cache_ttl", UNSET)
|
|
77
|
+
|
|
78
|
+
create_fetch_bulk_body_urls_item_type_1 = cls(
|
|
79
|
+
url=url,
|
|
80
|
+
format_=format_,
|
|
81
|
+
country=country,
|
|
82
|
+
cache_ttl=cache_ttl,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
create_fetch_bulk_body_urls_item_type_1.additional_properties = d
|
|
86
|
+
return create_fetch_bulk_body_urls_item_type_1
|
|
87
|
+
|
|
88
|
+
@property
|
|
89
|
+
def additional_keys(self) -> list[str]:
|
|
90
|
+
return list(self.additional_properties.keys())
|
|
91
|
+
|
|
92
|
+
def __getitem__(self, key: str) -> Any:
|
|
93
|
+
return self.additional_properties[key]
|
|
94
|
+
|
|
95
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
96
|
+
self.additional_properties[key] = value
|
|
97
|
+
|
|
98
|
+
def __delitem__(self, key: str) -> None:
|
|
99
|
+
del self.additional_properties[key]
|
|
100
|
+
|
|
101
|
+
def __contains__(self, key: str) -> bool:
|
|
102
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="CreateFetchBulkResponse202")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class CreateFetchBulkResponse202:
|
|
12
|
+
""" """
|
|
13
|
+
|
|
14
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
15
|
+
|
|
16
|
+
def to_dict(self) -> dict[str, Any]:
|
|
17
|
+
field_dict: dict[str, Any] = {}
|
|
18
|
+
field_dict.update(self.additional_properties)
|
|
19
|
+
|
|
20
|
+
return field_dict
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
24
|
+
d = dict(src_dict)
|
|
25
|
+
create_fetch_bulk_response_202 = cls()
|
|
26
|
+
|
|
27
|
+
create_fetch_bulk_response_202.additional_properties = d
|
|
28
|
+
return create_fetch_bulk_response_202
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def additional_keys(self) -> list[str]:
|
|
32
|
+
return list(self.additional_properties.keys())
|
|
33
|
+
|
|
34
|
+
def __getitem__(self, key: str) -> Any:
|
|
35
|
+
return self.additional_properties[key]
|
|
36
|
+
|
|
37
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
38
|
+
self.additional_properties[key] = value
|
|
39
|
+
|
|
40
|
+
def __delitem__(self, key: str) -> None:
|
|
41
|
+
del self.additional_properties[key]
|
|
42
|
+
|
|
43
|
+
def __contains__(self, key: str) -> bool:
|
|
44
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import (
|
|
3
|
+
TYPE_CHECKING,
|
|
4
|
+
Any,
|
|
5
|
+
TypeVar,
|
|
6
|
+
Union,
|
|
7
|
+
cast,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from attrs import define as _attrs_define
|
|
11
|
+
from attrs import field as _attrs_field
|
|
12
|
+
|
|
13
|
+
from ..types import UNSET, Unset
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from ..models.create_scrape_bulk_body_custom import CreateScrapeBulkBodyCustom
|
|
17
|
+
from ..models.create_scrape_bulk_body_defaults import CreateScrapeBulkBodyDefaults
|
|
18
|
+
from ..models.create_scrape_bulk_body_items_item import (
|
|
19
|
+
CreateScrapeBulkBodyItemsItem,
|
|
20
|
+
)
|
|
21
|
+
from ..models.metadata import Metadata
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
T = TypeVar("T", bound="CreateScrapeBulkBody")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@_attrs_define
|
|
28
|
+
class CreateScrapeBulkBody:
|
|
29
|
+
"""
|
|
30
|
+
Attributes:
|
|
31
|
+
webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
|
|
32
|
+
scheme_unsupported)
|
|
33
|
+
urls (Union[Unset, list[str]]): Simple URL list. Provide urls OR items, not both.
|
|
34
|
+
items (Union[Unset, list['CreateScrapeBulkBodyItemsItem']]): Per-item configs. Provide urls OR items, not both.
|
|
35
|
+
defaults (Union[Unset, CreateScrapeBulkBodyDefaults]):
|
|
36
|
+
webhook_secret (Union[Unset, str]):
|
|
37
|
+
metadata (Union[Unset, Metadata]): Arbitrary key-value metadata. Max 4096 bytes when JSON-serialized.
|
|
38
|
+
custom (Union[Unset, CreateScrapeBulkBodyCustom]): Top-level user-supplied JSON payload, capped at 4096 UTF-8
|
|
39
|
+
bytes. Applied to every scrape-type entry that does not
|
|
40
|
+
provide its own per-entry `custom` (the per-entry value wins).
|
|
41
|
+
Echoed on each entry's success envelope in the bulk results
|
|
42
|
+
response (the key is omitted when no `custom` was supplied at
|
|
43
|
+
either level). Distinct from the system-owned `metadata`
|
|
44
|
+
column and never used as a cache-key input.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
webhook_url: str
|
|
48
|
+
urls: Union[Unset, list[str]] = UNSET
|
|
49
|
+
items: Union[Unset, list["CreateScrapeBulkBodyItemsItem"]] = UNSET
|
|
50
|
+
defaults: Union[Unset, "CreateScrapeBulkBodyDefaults"] = UNSET
|
|
51
|
+
webhook_secret: Union[Unset, str] = UNSET
|
|
52
|
+
metadata: Union[Unset, "Metadata"] = UNSET
|
|
53
|
+
custom: Union[Unset, "CreateScrapeBulkBodyCustom"] = UNSET
|
|
54
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
55
|
+
|
|
56
|
+
def to_dict(self) -> dict[str, Any]:
|
|
57
|
+
webhook_url = self.webhook_url
|
|
58
|
+
|
|
59
|
+
urls: Union[Unset, list[str]] = UNSET
|
|
60
|
+
if not isinstance(self.urls, Unset):
|
|
61
|
+
urls = self.urls
|
|
62
|
+
|
|
63
|
+
items: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
64
|
+
if not isinstance(self.items, Unset):
|
|
65
|
+
items = []
|
|
66
|
+
for items_item_data in self.items:
|
|
67
|
+
items_item = items_item_data.to_dict()
|
|
68
|
+
items.append(items_item)
|
|
69
|
+
|
|
70
|
+
defaults: Union[Unset, dict[str, Any]] = UNSET
|
|
71
|
+
if not isinstance(self.defaults, Unset):
|
|
72
|
+
defaults = self.defaults.to_dict()
|
|
73
|
+
|
|
74
|
+
webhook_secret = self.webhook_secret
|
|
75
|
+
|
|
76
|
+
metadata: Union[Unset, dict[str, Any]] = UNSET
|
|
77
|
+
if not isinstance(self.metadata, Unset):
|
|
78
|
+
metadata = self.metadata.to_dict()
|
|
79
|
+
|
|
80
|
+
custom: Union[Unset, dict[str, Any]] = UNSET
|
|
81
|
+
if not isinstance(self.custom, Unset):
|
|
82
|
+
custom = self.custom.to_dict()
|
|
83
|
+
|
|
84
|
+
field_dict: dict[str, Any] = {}
|
|
85
|
+
field_dict.update(self.additional_properties)
|
|
86
|
+
field_dict.update(
|
|
87
|
+
{
|
|
88
|
+
"webhook_url": webhook_url,
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
if urls is not UNSET:
|
|
92
|
+
field_dict["urls"] = urls
|
|
93
|
+
if items is not UNSET:
|
|
94
|
+
field_dict["items"] = items
|
|
95
|
+
if defaults is not UNSET:
|
|
96
|
+
field_dict["defaults"] = defaults
|
|
97
|
+
if webhook_secret is not UNSET:
|
|
98
|
+
field_dict["webhook_secret"] = webhook_secret
|
|
99
|
+
if metadata is not UNSET:
|
|
100
|
+
field_dict["metadata"] = metadata
|
|
101
|
+
if custom is not UNSET:
|
|
102
|
+
field_dict["custom"] = custom
|
|
103
|
+
|
|
104
|
+
return field_dict
|
|
105
|
+
|
|
106
|
+
@classmethod
|
|
107
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
108
|
+
from ..models.create_scrape_bulk_body_custom import CreateScrapeBulkBodyCustom
|
|
109
|
+
from ..models.create_scrape_bulk_body_defaults import (
|
|
110
|
+
CreateScrapeBulkBodyDefaults,
|
|
111
|
+
)
|
|
112
|
+
from ..models.create_scrape_bulk_body_items_item import (
|
|
113
|
+
CreateScrapeBulkBodyItemsItem,
|
|
114
|
+
)
|
|
115
|
+
from ..models.metadata import Metadata
|
|
116
|
+
|
|
117
|
+
d = dict(src_dict)
|
|
118
|
+
webhook_url = d.pop("webhook_url")
|
|
119
|
+
|
|
120
|
+
urls = cast(list[str], d.pop("urls", UNSET))
|
|
121
|
+
|
|
122
|
+
items = []
|
|
123
|
+
_items = d.pop("items", UNSET)
|
|
124
|
+
for items_item_data in _items or []:
|
|
125
|
+
items_item = CreateScrapeBulkBodyItemsItem.from_dict(items_item_data)
|
|
126
|
+
|
|
127
|
+
items.append(items_item)
|
|
128
|
+
|
|
129
|
+
_defaults = d.pop("defaults", UNSET)
|
|
130
|
+
defaults: Union[Unset, CreateScrapeBulkBodyDefaults]
|
|
131
|
+
if isinstance(_defaults, Unset):
|
|
132
|
+
defaults = UNSET
|
|
133
|
+
else:
|
|
134
|
+
defaults = CreateScrapeBulkBodyDefaults.from_dict(_defaults)
|
|
135
|
+
|
|
136
|
+
webhook_secret = d.pop("webhook_secret", UNSET)
|
|
137
|
+
|
|
138
|
+
_metadata = d.pop("metadata", UNSET)
|
|
139
|
+
metadata: Union[Unset, Metadata]
|
|
140
|
+
if isinstance(_metadata, Unset):
|
|
141
|
+
metadata = UNSET
|
|
142
|
+
else:
|
|
143
|
+
metadata = Metadata.from_dict(_metadata)
|
|
144
|
+
|
|
145
|
+
_custom = d.pop("custom", UNSET)
|
|
146
|
+
custom: Union[Unset, CreateScrapeBulkBodyCustom]
|
|
147
|
+
if isinstance(_custom, Unset):
|
|
148
|
+
custom = UNSET
|
|
149
|
+
else:
|
|
150
|
+
custom = CreateScrapeBulkBodyCustom.from_dict(_custom)
|
|
151
|
+
|
|
152
|
+
create_scrape_bulk_body = cls(
|
|
153
|
+
webhook_url=webhook_url,
|
|
154
|
+
urls=urls,
|
|
155
|
+
items=items,
|
|
156
|
+
defaults=defaults,
|
|
157
|
+
webhook_secret=webhook_secret,
|
|
158
|
+
metadata=metadata,
|
|
159
|
+
custom=custom,
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
create_scrape_bulk_body.additional_properties = d
|
|
163
|
+
return create_scrape_bulk_body
|
|
164
|
+
|
|
165
|
+
@property
|
|
166
|
+
def additional_keys(self) -> list[str]:
|
|
167
|
+
return list(self.additional_properties.keys())
|
|
168
|
+
|
|
169
|
+
def __getitem__(self, key: str) -> Any:
|
|
170
|
+
return self.additional_properties[key]
|
|
171
|
+
|
|
172
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
173
|
+
self.additional_properties[key] = value
|
|
174
|
+
|
|
175
|
+
def __delitem__(self, key: str) -> None:
|
|
176
|
+
del self.additional_properties[key]
|
|
177
|
+
|
|
178
|
+
def __contains__(self, key: str) -> bool:
|
|
179
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T", bound="CreateScrapeBulkBodyCustom")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class CreateScrapeBulkBodyCustom:
|
|
12
|
+
"""Top-level user-supplied JSON payload, capped at 4096 UTF-8
|
|
13
|
+
bytes. Applied to every scrape-type entry that does not
|
|
14
|
+
provide its own per-entry `custom` (the per-entry value wins).
|
|
15
|
+
Echoed on each entry's success envelope in the bulk results
|
|
16
|
+
response (the key is omitted when no `custom` was supplied at
|
|
17
|
+
either level). Distinct from the system-owned `metadata`
|
|
18
|
+
column and never used as a cache-key input.
|
|
19
|
+
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
field_dict: dict[str, Any] = {}
|
|
26
|
+
field_dict.update(self.additional_properties)
|
|
27
|
+
|
|
28
|
+
return field_dict
|
|
29
|
+
|
|
30
|
+
@classmethod
|
|
31
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
32
|
+
d = dict(src_dict)
|
|
33
|
+
create_scrape_bulk_body_custom = cls()
|
|
34
|
+
|
|
35
|
+
create_scrape_bulk_body_custom.additional_properties = d
|
|
36
|
+
return create_scrape_bulk_body_custom
|
|
37
|
+
|
|
38
|
+
@property
|
|
39
|
+
def additional_keys(self) -> list[str]:
|
|
40
|
+
return list(self.additional_properties.keys())
|
|
41
|
+
|
|
42
|
+
def __getitem__(self, key: str) -> Any:
|
|
43
|
+
return self.additional_properties[key]
|
|
44
|
+
|
|
45
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
46
|
+
self.additional_properties[key] = value
|
|
47
|
+
|
|
48
|
+
def __delitem__(self, key: str) -> None:
|
|
49
|
+
del self.additional_properties[key]
|
|
50
|
+
|
|
51
|
+
def __contains__(self, key: str) -> bool:
|
|
52
|
+
return key in self.additional_properties
|