wordlift-client 1.122.0__py3-none-any.whl → 1.124.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.
- wordlift_client/__init__.py +18 -1
- wordlift_client/api/__init__.py +1 -0
- wordlift_client/api/audit_api.py +315 -0
- wordlift_client/api/google_search_console_api.py +275 -0
- wordlift_client/api_client.py +1 -1
- wordlift_client/configuration.py +1 -1
- wordlift_client/models/__init__.py +16 -0
- wordlift_client/models/account_stats.py +3 -1
- wordlift_client/models/audit_data.py +166 -0
- wordlift_client/models/audit_request.py +88 -0
- wordlift_client/models/audit_response.py +94 -0
- wordlift_client/models/automation_readiness.py +102 -0
- wordlift_client/models/content_structure.py +103 -0
- wordlift_client/models/create_url_inspection_request.py +88 -0
- wordlift_client/models/error_response.py +90 -0
- wordlift_client/models/image_accessibility.py +107 -0
- wordlift_client/models/js_rendering.py +130 -0
- wordlift_client/models/quick_win.py +102 -0
- wordlift_client/models/seo_fundamentals.py +116 -0
- wordlift_client/models/site_files.py +130 -0
- wordlift_client/models/site_files_bot_access.py +122 -0
- wordlift_client/models/structured_data.py +106 -0
- wordlift_client/models/validation_error1.py +96 -0
- wordlift_client/models/validation_error1_detail_inner.py +92 -0
- {wordlift_client-1.122.0.dist-info → wordlift_client-1.124.0.dist-info}/METADATA +1 -1
- {wordlift_client-1.122.0.dist-info → wordlift_client-1.124.0.dist-info}/RECORD +29 -12
- {wordlift_client-1.122.0.dist-info → wordlift_client-1.124.0.dist-info}/LICENSE +0 -0
- {wordlift_client-1.122.0.dist-info → wordlift_client-1.124.0.dist-info}/WHEEL +0 -0
- {wordlift_client-1.122.0.dist-info → wordlift_client-1.124.0.dist-info}/top_level.txt +0 -0
|
@@ -20,6 +20,7 @@ from typing_extensions import Annotated
|
|
|
20
20
|
from pydantic import Field, StrictInt, StrictStr
|
|
21
21
|
from typing import List, Optional
|
|
22
22
|
from typing_extensions import Annotated
|
|
23
|
+
from wordlift_client.models.create_url_inspection_request import CreateUrlInspectionRequest
|
|
23
24
|
from wordlift_client.models.page_website import PageWebsite
|
|
24
25
|
from wordlift_client.models.page_website_search import PageWebsiteSearch
|
|
25
26
|
|
|
@@ -41,6 +42,280 @@ class GoogleSearchConsoleApi:
|
|
|
41
42
|
self.api_client = api_client
|
|
42
43
|
|
|
43
44
|
|
|
45
|
+
@validate_call
|
|
46
|
+
async def create_url_inspection(
|
|
47
|
+
self,
|
|
48
|
+
create_url_inspection_request: CreateUrlInspectionRequest,
|
|
49
|
+
_request_timeout: Union[
|
|
50
|
+
None,
|
|
51
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
52
|
+
Tuple[
|
|
53
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
54
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
55
|
+
]
|
|
56
|
+
] = None,
|
|
57
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
58
|
+
_content_type: Optional[StrictStr] = None,
|
|
59
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
60
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
61
|
+
) -> str:
|
|
62
|
+
"""Create
|
|
63
|
+
|
|
64
|
+
Inspect a URL using the Google Search Console connected to the authenticated account.
|
|
65
|
+
|
|
66
|
+
:param create_url_inspection_request: (required)
|
|
67
|
+
:type create_url_inspection_request: CreateUrlInspectionRequest
|
|
68
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
69
|
+
number provided, it will be total request
|
|
70
|
+
timeout. It can also be a pair (tuple) of
|
|
71
|
+
(connection, read) timeouts.
|
|
72
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
73
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
74
|
+
request; this effectively ignores the
|
|
75
|
+
authentication in the spec for a single request.
|
|
76
|
+
:type _request_auth: dict, optional
|
|
77
|
+
:param _content_type: force content-type for the request.
|
|
78
|
+
:type _content_type: str, Optional
|
|
79
|
+
:param _headers: set to override the headers for a single
|
|
80
|
+
request; this effectively ignores the headers
|
|
81
|
+
in the spec for a single request.
|
|
82
|
+
:type _headers: dict, optional
|
|
83
|
+
:param _host_index: set to override the host_index for a single
|
|
84
|
+
request; this effectively ignores the host_index
|
|
85
|
+
in the spec for a single request.
|
|
86
|
+
:type _host_index: int, optional
|
|
87
|
+
:return: Returns the result object.
|
|
88
|
+
""" # noqa: E501
|
|
89
|
+
|
|
90
|
+
_param = self._create_url_inspection_serialize(
|
|
91
|
+
create_url_inspection_request=create_url_inspection_request,
|
|
92
|
+
_request_auth=_request_auth,
|
|
93
|
+
_content_type=_content_type,
|
|
94
|
+
_headers=_headers,
|
|
95
|
+
_host_index=_host_index
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
99
|
+
'200': "str",
|
|
100
|
+
'301': None,
|
|
101
|
+
}
|
|
102
|
+
response_data = await self.api_client.call_api(
|
|
103
|
+
*_param,
|
|
104
|
+
_request_timeout=_request_timeout
|
|
105
|
+
)
|
|
106
|
+
await response_data.read()
|
|
107
|
+
return self.api_client.response_deserialize(
|
|
108
|
+
response_data=response_data,
|
|
109
|
+
response_types_map=_response_types_map,
|
|
110
|
+
).data
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
@validate_call
|
|
114
|
+
async def create_url_inspection_with_http_info(
|
|
115
|
+
self,
|
|
116
|
+
create_url_inspection_request: CreateUrlInspectionRequest,
|
|
117
|
+
_request_timeout: Union[
|
|
118
|
+
None,
|
|
119
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
120
|
+
Tuple[
|
|
121
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
122
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
123
|
+
]
|
|
124
|
+
] = None,
|
|
125
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
126
|
+
_content_type: Optional[StrictStr] = None,
|
|
127
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
128
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
129
|
+
) -> ApiResponse[str]:
|
|
130
|
+
"""Create
|
|
131
|
+
|
|
132
|
+
Inspect a URL using the Google Search Console connected to the authenticated account.
|
|
133
|
+
|
|
134
|
+
:param create_url_inspection_request: (required)
|
|
135
|
+
:type create_url_inspection_request: CreateUrlInspectionRequest
|
|
136
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
137
|
+
number provided, it will be total request
|
|
138
|
+
timeout. It can also be a pair (tuple) of
|
|
139
|
+
(connection, read) timeouts.
|
|
140
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
141
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
142
|
+
request; this effectively ignores the
|
|
143
|
+
authentication in the spec for a single request.
|
|
144
|
+
:type _request_auth: dict, optional
|
|
145
|
+
:param _content_type: force content-type for the request.
|
|
146
|
+
:type _content_type: str, Optional
|
|
147
|
+
:param _headers: set to override the headers for a single
|
|
148
|
+
request; this effectively ignores the headers
|
|
149
|
+
in the spec for a single request.
|
|
150
|
+
:type _headers: dict, optional
|
|
151
|
+
:param _host_index: set to override the host_index for a single
|
|
152
|
+
request; this effectively ignores the host_index
|
|
153
|
+
in the spec for a single request.
|
|
154
|
+
:type _host_index: int, optional
|
|
155
|
+
:return: Returns the result object.
|
|
156
|
+
""" # noqa: E501
|
|
157
|
+
|
|
158
|
+
_param = self._create_url_inspection_serialize(
|
|
159
|
+
create_url_inspection_request=create_url_inspection_request,
|
|
160
|
+
_request_auth=_request_auth,
|
|
161
|
+
_content_type=_content_type,
|
|
162
|
+
_headers=_headers,
|
|
163
|
+
_host_index=_host_index
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
167
|
+
'200': "str",
|
|
168
|
+
'301': None,
|
|
169
|
+
}
|
|
170
|
+
response_data = await self.api_client.call_api(
|
|
171
|
+
*_param,
|
|
172
|
+
_request_timeout=_request_timeout
|
|
173
|
+
)
|
|
174
|
+
await response_data.read()
|
|
175
|
+
return self.api_client.response_deserialize(
|
|
176
|
+
response_data=response_data,
|
|
177
|
+
response_types_map=_response_types_map,
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
@validate_call
|
|
182
|
+
async def create_url_inspection_without_preload_content(
|
|
183
|
+
self,
|
|
184
|
+
create_url_inspection_request: CreateUrlInspectionRequest,
|
|
185
|
+
_request_timeout: Union[
|
|
186
|
+
None,
|
|
187
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
188
|
+
Tuple[
|
|
189
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
190
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
191
|
+
]
|
|
192
|
+
] = None,
|
|
193
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
194
|
+
_content_type: Optional[StrictStr] = None,
|
|
195
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
196
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
197
|
+
) -> RESTResponseType:
|
|
198
|
+
"""Create
|
|
199
|
+
|
|
200
|
+
Inspect a URL using the Google Search Console connected to the authenticated account.
|
|
201
|
+
|
|
202
|
+
:param create_url_inspection_request: (required)
|
|
203
|
+
:type create_url_inspection_request: CreateUrlInspectionRequest
|
|
204
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
205
|
+
number provided, it will be total request
|
|
206
|
+
timeout. It can also be a pair (tuple) of
|
|
207
|
+
(connection, read) timeouts.
|
|
208
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
209
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
210
|
+
request; this effectively ignores the
|
|
211
|
+
authentication in the spec for a single request.
|
|
212
|
+
:type _request_auth: dict, optional
|
|
213
|
+
:param _content_type: force content-type for the request.
|
|
214
|
+
:type _content_type: str, Optional
|
|
215
|
+
:param _headers: set to override the headers for a single
|
|
216
|
+
request; this effectively ignores the headers
|
|
217
|
+
in the spec for a single request.
|
|
218
|
+
:type _headers: dict, optional
|
|
219
|
+
:param _host_index: set to override the host_index for a single
|
|
220
|
+
request; this effectively ignores the host_index
|
|
221
|
+
in the spec for a single request.
|
|
222
|
+
:type _host_index: int, optional
|
|
223
|
+
:return: Returns the result object.
|
|
224
|
+
""" # noqa: E501
|
|
225
|
+
|
|
226
|
+
_param = self._create_url_inspection_serialize(
|
|
227
|
+
create_url_inspection_request=create_url_inspection_request,
|
|
228
|
+
_request_auth=_request_auth,
|
|
229
|
+
_content_type=_content_type,
|
|
230
|
+
_headers=_headers,
|
|
231
|
+
_host_index=_host_index
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
235
|
+
'200': "str",
|
|
236
|
+
'301': None,
|
|
237
|
+
}
|
|
238
|
+
response_data = await self.api_client.call_api(
|
|
239
|
+
*_param,
|
|
240
|
+
_request_timeout=_request_timeout
|
|
241
|
+
)
|
|
242
|
+
return response_data.response
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
def _create_url_inspection_serialize(
|
|
246
|
+
self,
|
|
247
|
+
create_url_inspection_request,
|
|
248
|
+
_request_auth,
|
|
249
|
+
_content_type,
|
|
250
|
+
_headers,
|
|
251
|
+
_host_index,
|
|
252
|
+
) -> RequestSerialized:
|
|
253
|
+
|
|
254
|
+
_host = None
|
|
255
|
+
|
|
256
|
+
_collection_formats: Dict[str, str] = {
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
_path_params: Dict[str, str] = {}
|
|
260
|
+
_query_params: List[Tuple[str, str]] = []
|
|
261
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
262
|
+
_form_params: List[Tuple[str, str]] = []
|
|
263
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
|
264
|
+
_body_params: Optional[bytes] = None
|
|
265
|
+
|
|
266
|
+
# process the path parameters
|
|
267
|
+
# process the query parameters
|
|
268
|
+
# process the header parameters
|
|
269
|
+
# process the form parameters
|
|
270
|
+
# process the body parameter
|
|
271
|
+
if create_url_inspection_request is not None:
|
|
272
|
+
_body_params = create_url_inspection_request
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
# set the HTTP header `Accept`
|
|
276
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
277
|
+
[
|
|
278
|
+
'application/json'
|
|
279
|
+
]
|
|
280
|
+
)
|
|
281
|
+
|
|
282
|
+
# set the HTTP header `Content-Type`
|
|
283
|
+
if _content_type:
|
|
284
|
+
_header_params['Content-Type'] = _content_type
|
|
285
|
+
else:
|
|
286
|
+
_default_content_type = (
|
|
287
|
+
self.api_client.select_header_content_type(
|
|
288
|
+
[
|
|
289
|
+
'application/json'
|
|
290
|
+
]
|
|
291
|
+
)
|
|
292
|
+
)
|
|
293
|
+
if _default_content_type is not None:
|
|
294
|
+
_header_params['Content-Type'] = _default_content_type
|
|
295
|
+
|
|
296
|
+
# authentication setting
|
|
297
|
+
_auth_settings: List[str] = [
|
|
298
|
+
'ApiKey'
|
|
299
|
+
]
|
|
300
|
+
|
|
301
|
+
return self.api_client.param_serialize(
|
|
302
|
+
method='POST',
|
|
303
|
+
resource_path='/gsc/url-inspections',
|
|
304
|
+
path_params=_path_params,
|
|
305
|
+
query_params=_query_params,
|
|
306
|
+
header_params=_header_params,
|
|
307
|
+
body=_body_params,
|
|
308
|
+
post_params=_form_params,
|
|
309
|
+
files=_files,
|
|
310
|
+
auth_settings=_auth_settings,
|
|
311
|
+
collection_formats=_collection_formats,
|
|
312
|
+
_host=_host,
|
|
313
|
+
_request_auth=_request_auth
|
|
314
|
+
)
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
44
319
|
@validate_call
|
|
45
320
|
async def list_website_search(
|
|
46
321
|
self,
|
wordlift_client/api_client.py
CHANGED
|
@@ -89,7 +89,7 @@ class ApiClient:
|
|
|
89
89
|
self.default_headers[header_name] = header_value
|
|
90
90
|
self.cookie = cookie
|
|
91
91
|
# Set default User-Agent.
|
|
92
|
-
self.user_agent = 'OpenAPI-Generator/1.
|
|
92
|
+
self.user_agent = 'OpenAPI-Generator/1.124.0/python'
|
|
93
93
|
self.client_side_validation = configuration.client_side_validation
|
|
94
94
|
|
|
95
95
|
async def __aenter__(self):
|
wordlift_client/configuration.py
CHANGED
|
@@ -426,7 +426,7 @@ conf = wordlift_client.Configuration(
|
|
|
426
426
|
"OS: {env}\n"\
|
|
427
427
|
"Python Version: {pyversion}\n"\
|
|
428
428
|
"Version of the API: 1.0\n"\
|
|
429
|
-
"SDK Package Version: 1.
|
|
429
|
+
"SDK Package Version: 1.124.0".\
|
|
430
430
|
format(env=sys.platform, pyversion=sys.version)
|
|
431
431
|
|
|
432
432
|
def get_host_settings(self):
|
|
@@ -32,10 +32,14 @@ from wordlift_client.models.anchor_text import AnchorText
|
|
|
32
32
|
from wordlift_client.models.annotation import Annotation
|
|
33
33
|
from wordlift_client.models.ask_request import AskRequest
|
|
34
34
|
from wordlift_client.models.ask_response import AskResponse
|
|
35
|
+
from wordlift_client.models.audit_data import AuditData
|
|
36
|
+
from wordlift_client.models.audit_request import AuditRequest
|
|
37
|
+
from wordlift_client.models.audit_response import AuditResponse
|
|
35
38
|
from wordlift_client.models.author_request import AuthorRequest
|
|
36
39
|
from wordlift_client.models.authorization import Authorization
|
|
37
40
|
from wordlift_client.models.authorization_status import AuthorizationStatus
|
|
38
41
|
from wordlift_client.models.autocomplete_result import AutocompleteResult
|
|
42
|
+
from wordlift_client.models.automation_readiness import AutomationReadiness
|
|
39
43
|
from wordlift_client.models.batch_request import BatchRequest
|
|
40
44
|
from wordlift_client.models.botify_crawl_import_request import BotifyCrawlImportRequest
|
|
41
45
|
from wordlift_client.models.build_authorize_uri_request import BuildAuthorizeUriRequest
|
|
@@ -60,9 +64,11 @@ from wordlift_client.models.content_expansion_response import ContentExpansionRe
|
|
|
60
64
|
from wordlift_client.models.content_generation import ContentGeneration
|
|
61
65
|
from wordlift_client.models.content_generation_request import ContentGenerationRequest
|
|
62
66
|
from wordlift_client.models.content_generation_stats import ContentGenerationStats
|
|
67
|
+
from wordlift_client.models.content_structure import ContentStructure
|
|
63
68
|
from wordlift_client.models.create_embeddings_input import CreateEmbeddingsInput
|
|
64
69
|
from wordlift_client.models.create_seo_score200_response import CreateSEOScore200Response
|
|
65
70
|
from wordlift_client.models.create_seo_score_request import CreateSEOScoreRequest
|
|
71
|
+
from wordlift_client.models.create_url_inspection_request import CreateUrlInspectionRequest
|
|
66
72
|
from wordlift_client.models.diagnostic_plugin import DiagnosticPlugin
|
|
67
73
|
from wordlift_client.models.diagnostic_plugin_request import DiagnosticPluginRequest
|
|
68
74
|
from wordlift_client.models.domain_validation_request import DomainValidationRequest
|
|
@@ -73,6 +79,7 @@ from wordlift_client.models.entity1 import Entity1
|
|
|
73
79
|
from wordlift_client.models.entity_gap_request import EntityGapRequest
|
|
74
80
|
from wordlift_client.models.entity_match import EntityMatch
|
|
75
81
|
from wordlift_client.models.entity_patch_request import EntityPatchRequest
|
|
82
|
+
from wordlift_client.models.error_response import ErrorResponse
|
|
76
83
|
from wordlift_client.models.event import Event
|
|
77
84
|
from wordlift_client.models.exchange_auth_code_request import ExchangeAuthCodeRequest
|
|
78
85
|
from wordlift_client.models.exchange_auth_code_response import ExchangeAuthCodeResponse
|
|
@@ -84,6 +91,7 @@ from wordlift_client.models.graphql_request import GraphqlRequest
|
|
|
84
91
|
from wordlift_client.models.http_validation_error import HTTPValidationError
|
|
85
92
|
from wordlift_client.models.html import Html
|
|
86
93
|
from wordlift_client.models.image import Image
|
|
94
|
+
from wordlift_client.models.image_accessibility import ImageAccessibility
|
|
87
95
|
from wordlift_client.models.image_to_text_request import ImageToTextRequest
|
|
88
96
|
from wordlift_client.models.image_to_text_response import ImageToTextResponse
|
|
89
97
|
from wordlift_client.models.include_exclude import IncludeExclude
|
|
@@ -94,6 +102,7 @@ from wordlift_client.models.internal_link_destination import InternalLinkDestina
|
|
|
94
102
|
from wordlift_client.models.internal_link_request import InternalLinkRequest
|
|
95
103
|
from wordlift_client.models.internal_link_source import InternalLinkSource
|
|
96
104
|
from wordlift_client.models.item import Item
|
|
105
|
+
from wordlift_client.models.js_rendering import JsRendering
|
|
97
106
|
from wordlift_client.models.kg_embedding_request import KgEmbeddingRequest
|
|
98
107
|
from wordlift_client.models.kg_embedding_response import KgEmbeddingResponse
|
|
99
108
|
from wordlift_client.models.level_enum import LevelEnum
|
|
@@ -141,6 +150,7 @@ from wordlift_client.models.properties import Properties
|
|
|
141
150
|
from wordlift_client.models.properties1 import Properties1
|
|
142
151
|
from wordlift_client.models.question_and_answer import QuestionAndAnswer
|
|
143
152
|
from wordlift_client.models.question_and_answer_request import QuestionAndAnswerRequest
|
|
153
|
+
from wordlift_client.models.quick_win import QuickWin
|
|
144
154
|
from wordlift_client.models.rank_entities import RankEntities
|
|
145
155
|
from wordlift_client.models.record import Record
|
|
146
156
|
from wordlift_client.models.render_request import RenderRequest
|
|
@@ -154,9 +164,13 @@ from wordlift_client.models.response2 import Response2
|
|
|
154
164
|
from wordlift_client.models.rule import Rule
|
|
155
165
|
from wordlift_client.models.rule_request import RuleRequest
|
|
156
166
|
from wordlift_client.models.scope import Scope
|
|
167
|
+
from wordlift_client.models.seo_fundamentals import SeoFundamentals
|
|
168
|
+
from wordlift_client.models.site_files import SiteFiles
|
|
169
|
+
from wordlift_client.models.site_files_bot_access import SiteFilesBotAccess
|
|
157
170
|
from wordlift_client.models.sitemap_import_request import SitemapImportRequest
|
|
158
171
|
from wordlift_client.models.smart_content import SmartContent
|
|
159
172
|
from wordlift_client.models.smart_content_request import SmartContentRequest
|
|
173
|
+
from wordlift_client.models.structured_data import StructuredData
|
|
160
174
|
from wordlift_client.models.submit_fact_check200_response import SubmitFactCheck200Response
|
|
161
175
|
from wordlift_client.models.submit_fact_check_request import SubmitFactCheckRequest
|
|
162
176
|
from wordlift_client.models.token_response import TokenResponse
|
|
@@ -168,6 +182,8 @@ from wordlift_client.models.update_record_request import UpdateRecordRequest
|
|
|
168
182
|
from wordlift_client.models.update_records_request import UpdateRecordsRequest
|
|
169
183
|
from wordlift_client.models.update_site_url_request import UpdateSiteUrlRequest
|
|
170
184
|
from wordlift_client.models.validation_error import ValidationError
|
|
185
|
+
from wordlift_client.models.validation_error1 import ValidationError1
|
|
186
|
+
from wordlift_client.models.validation_error1_detail_inner import ValidationError1DetailInner
|
|
171
187
|
from wordlift_client.models.validation_fix import ValidationFix
|
|
172
188
|
from wordlift_client.models.validation_result import ValidationResult
|
|
173
189
|
from wordlift_client.models.validation_type_enum import ValidationTypeEnum
|
|
@@ -27,11 +27,12 @@ class AccountStats(BaseModel):
|
|
|
27
27
|
"""
|
|
28
28
|
The Account statistics
|
|
29
29
|
""" # noqa: E501
|
|
30
|
+
account_id: StrictInt = Field(description="The account ID.")
|
|
30
31
|
entities: StrictInt = Field(description="The number of entities.")
|
|
31
32
|
entities_with_url: StrictInt = Field(description="The number of entities with URL.")
|
|
32
33
|
product_groups: StrictInt = Field(description="The number of product groups in the KG.")
|
|
33
34
|
products: StrictInt = Field(description="The number of products in the KG.")
|
|
34
|
-
__properties: ClassVar[List[str]] = ["entities", "entities_with_url", "product_groups", "products"]
|
|
35
|
+
__properties: ClassVar[List[str]] = ["account_id", "entities", "entities_with_url", "product_groups", "products"]
|
|
35
36
|
|
|
36
37
|
model_config = ConfigDict(
|
|
37
38
|
populate_by_name=True,
|
|
@@ -84,6 +85,7 @@ class AccountStats(BaseModel):
|
|
|
84
85
|
return cls.model_validate(obj)
|
|
85
86
|
|
|
86
87
|
_obj = cls.model_validate({
|
|
88
|
+
"account_id": obj.get("account_id"),
|
|
87
89
|
"entities": obj.get("entities"),
|
|
88
90
|
"entities_with_url": obj.get("entities_with_url"),
|
|
89
91
|
"product_groups": obj.get("product_groups"),
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
WordLift API
|
|
5
|
+
|
|
6
|
+
WordLift API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0
|
|
9
|
+
Contact: hello@wordlift.io
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from datetime import datetime
|
|
22
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
|
|
23
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
24
|
+
from typing_extensions import Annotated
|
|
25
|
+
from wordlift_client.models.automation_readiness import AutomationReadiness
|
|
26
|
+
from wordlift_client.models.content_structure import ContentStructure
|
|
27
|
+
from wordlift_client.models.image_accessibility import ImageAccessibility
|
|
28
|
+
from wordlift_client.models.js_rendering import JsRendering
|
|
29
|
+
from wordlift_client.models.quick_win import QuickWin
|
|
30
|
+
from wordlift_client.models.seo_fundamentals import SeoFundamentals
|
|
31
|
+
from wordlift_client.models.site_files import SiteFiles
|
|
32
|
+
from wordlift_client.models.structured_data import StructuredData
|
|
33
|
+
from typing import Optional, Set
|
|
34
|
+
from typing_extensions import Self
|
|
35
|
+
|
|
36
|
+
class AuditData(BaseModel):
|
|
37
|
+
"""
|
|
38
|
+
AuditData
|
|
39
|
+
""" # noqa: E501
|
|
40
|
+
url: Optional[StrictStr] = Field(default=None, description="The audited URL (may include trailing slash)")
|
|
41
|
+
domain: Optional[StrictStr] = Field(default=None, description="The base domain of the audited URL")
|
|
42
|
+
timestamp: Optional[datetime] = Field(default=None, description="ISO 8601 timestamp of when the audit was performed")
|
|
43
|
+
overall_score: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Overall SEO and AI-readiness score (0-100)", alias="overallScore")
|
|
44
|
+
summary: Optional[StrictStr] = Field(default=None, description="High-level summary of the audit findings")
|
|
45
|
+
site_files: Optional[SiteFiles] = Field(default=None, alias="siteFiles")
|
|
46
|
+
seo_fundamentals: Optional[SeoFundamentals] = Field(default=None, alias="seoFundamentals")
|
|
47
|
+
structured_data: Optional[StructuredData] = Field(default=None, alias="structuredData")
|
|
48
|
+
content_structure: Optional[ContentStructure] = Field(default=None, alias="contentStructure")
|
|
49
|
+
image_accessibility: Optional[ImageAccessibility] = Field(default=None, alias="imageAccessibility")
|
|
50
|
+
automation_readiness: Optional[AutomationReadiness] = Field(default=None, alias="automationReadiness")
|
|
51
|
+
js_rendering: Optional[JsRendering] = Field(default=None, alias="jsRendering")
|
|
52
|
+
quick_wins: Optional[List[QuickWin]] = Field(default=None, alias="quickWins")
|
|
53
|
+
status: Optional[StrictStr] = Field(default=None, description="Status of the audit process")
|
|
54
|
+
account_id: Optional[StrictInt] = Field(default=None, description="Account ID associated with the audit", alias="accountId")
|
|
55
|
+
account_url: Optional[StrictStr] = Field(default=None, description="Account URL associated with the audit", alias="accountUrl")
|
|
56
|
+
__properties: ClassVar[List[str]] = ["url", "domain", "timestamp", "overallScore", "summary", "siteFiles", "seoFundamentals", "structuredData", "contentStructure", "imageAccessibility", "automationReadiness", "jsRendering", "quickWins", "status", "accountId", "accountUrl"]
|
|
57
|
+
|
|
58
|
+
@field_validator('status')
|
|
59
|
+
def status_validate_enum(cls, value):
|
|
60
|
+
"""Validates the enum"""
|
|
61
|
+
if value is None:
|
|
62
|
+
return value
|
|
63
|
+
|
|
64
|
+
if value not in set(['completed', 'pending', 'failed']):
|
|
65
|
+
raise ValueError("must be one of enum values ('completed', 'pending', 'failed')")
|
|
66
|
+
return value
|
|
67
|
+
|
|
68
|
+
model_config = ConfigDict(
|
|
69
|
+
populate_by_name=True,
|
|
70
|
+
validate_assignment=True,
|
|
71
|
+
protected_namespaces=(),
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def to_str(self) -> str:
|
|
76
|
+
"""Returns the string representation of the model using alias"""
|
|
77
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
78
|
+
|
|
79
|
+
def to_json(self) -> str:
|
|
80
|
+
"""Returns the JSON representation of the model using alias"""
|
|
81
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
82
|
+
return json.dumps(self.to_dict())
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
86
|
+
"""Create an instance of AuditData from a JSON string"""
|
|
87
|
+
return cls.from_dict(json.loads(json_str))
|
|
88
|
+
|
|
89
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
90
|
+
"""Return the dictionary representation of the model using alias.
|
|
91
|
+
|
|
92
|
+
This has the following differences from calling pydantic's
|
|
93
|
+
`self.model_dump(by_alias=True)`:
|
|
94
|
+
|
|
95
|
+
* `None` is only added to the output dict for nullable fields that
|
|
96
|
+
were set at model initialization. Other fields with value `None`
|
|
97
|
+
are ignored.
|
|
98
|
+
"""
|
|
99
|
+
excluded_fields: Set[str] = set([
|
|
100
|
+
])
|
|
101
|
+
|
|
102
|
+
_dict = self.model_dump(
|
|
103
|
+
by_alias=True,
|
|
104
|
+
exclude=excluded_fields,
|
|
105
|
+
exclude_none=True,
|
|
106
|
+
)
|
|
107
|
+
# override the default output from pydantic by calling `to_dict()` of site_files
|
|
108
|
+
if self.site_files:
|
|
109
|
+
_dict['siteFiles'] = self.site_files.to_dict()
|
|
110
|
+
# override the default output from pydantic by calling `to_dict()` of seo_fundamentals
|
|
111
|
+
if self.seo_fundamentals:
|
|
112
|
+
_dict['seoFundamentals'] = self.seo_fundamentals.to_dict()
|
|
113
|
+
# override the default output from pydantic by calling `to_dict()` of structured_data
|
|
114
|
+
if self.structured_data:
|
|
115
|
+
_dict['structuredData'] = self.structured_data.to_dict()
|
|
116
|
+
# override the default output from pydantic by calling `to_dict()` of content_structure
|
|
117
|
+
if self.content_structure:
|
|
118
|
+
_dict['contentStructure'] = self.content_structure.to_dict()
|
|
119
|
+
# override the default output from pydantic by calling `to_dict()` of image_accessibility
|
|
120
|
+
if self.image_accessibility:
|
|
121
|
+
_dict['imageAccessibility'] = self.image_accessibility.to_dict()
|
|
122
|
+
# override the default output from pydantic by calling `to_dict()` of automation_readiness
|
|
123
|
+
if self.automation_readiness:
|
|
124
|
+
_dict['automationReadiness'] = self.automation_readiness.to_dict()
|
|
125
|
+
# override the default output from pydantic by calling `to_dict()` of js_rendering
|
|
126
|
+
if self.js_rendering:
|
|
127
|
+
_dict['jsRendering'] = self.js_rendering.to_dict()
|
|
128
|
+
# override the default output from pydantic by calling `to_dict()` of each item in quick_wins (list)
|
|
129
|
+
_items = []
|
|
130
|
+
if self.quick_wins:
|
|
131
|
+
for _item in self.quick_wins:
|
|
132
|
+
if _item:
|
|
133
|
+
_items.append(_item.to_dict())
|
|
134
|
+
_dict['quickWins'] = _items
|
|
135
|
+
return _dict
|
|
136
|
+
|
|
137
|
+
@classmethod
|
|
138
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
139
|
+
"""Create an instance of AuditData from a dict"""
|
|
140
|
+
if obj is None:
|
|
141
|
+
return None
|
|
142
|
+
|
|
143
|
+
if not isinstance(obj, dict):
|
|
144
|
+
return cls.model_validate(obj)
|
|
145
|
+
|
|
146
|
+
_obj = cls.model_validate({
|
|
147
|
+
"url": obj.get("url"),
|
|
148
|
+
"domain": obj.get("domain"),
|
|
149
|
+
"timestamp": obj.get("timestamp"),
|
|
150
|
+
"overallScore": obj.get("overallScore"),
|
|
151
|
+
"summary": obj.get("summary"),
|
|
152
|
+
"siteFiles": SiteFiles.from_dict(obj["siteFiles"]) if obj.get("siteFiles") is not None else None,
|
|
153
|
+
"seoFundamentals": SeoFundamentals.from_dict(obj["seoFundamentals"]) if obj.get("seoFundamentals") is not None else None,
|
|
154
|
+
"structuredData": StructuredData.from_dict(obj["structuredData"]) if obj.get("structuredData") is not None else None,
|
|
155
|
+
"contentStructure": ContentStructure.from_dict(obj["contentStructure"]) if obj.get("contentStructure") is not None else None,
|
|
156
|
+
"imageAccessibility": ImageAccessibility.from_dict(obj["imageAccessibility"]) if obj.get("imageAccessibility") is not None else None,
|
|
157
|
+
"automationReadiness": AutomationReadiness.from_dict(obj["automationReadiness"]) if obj.get("automationReadiness") is not None else None,
|
|
158
|
+
"jsRendering": JsRendering.from_dict(obj["jsRendering"]) if obj.get("jsRendering") is not None else None,
|
|
159
|
+
"quickWins": [QuickWin.from_dict(_item) for _item in obj["quickWins"]] if obj.get("quickWins") is not None else None,
|
|
160
|
+
"status": obj.get("status"),
|
|
161
|
+
"accountId": obj.get("accountId"),
|
|
162
|
+
"accountUrl": obj.get("accountUrl")
|
|
163
|
+
})
|
|
164
|
+
return _obj
|
|
165
|
+
|
|
166
|
+
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
WordLift API
|
|
5
|
+
|
|
6
|
+
WordLift API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0
|
|
9
|
+
Contact: hello@wordlift.io
|
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
11
|
+
|
|
12
|
+
Do not edit the class manually.
|
|
13
|
+
""" # noqa: E501
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
import json
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class AuditRequest(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
AuditRequest
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
url: StrictStr = Field(description="The full URL of the website to audit")
|
|
31
|
+
__properties: ClassVar[List[str]] = ["url"]
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
populate_by_name=True,
|
|
35
|
+
validate_assignment=True,
|
|
36
|
+
protected_namespaces=(),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
47
|
+
return json.dumps(self.to_dict())
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
51
|
+
"""Create an instance of AuditRequest from a JSON string"""
|
|
52
|
+
return cls.from_dict(json.loads(json_str))
|
|
53
|
+
|
|
54
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
55
|
+
"""Return the dictionary representation of the model using alias.
|
|
56
|
+
|
|
57
|
+
This has the following differences from calling pydantic's
|
|
58
|
+
`self.model_dump(by_alias=True)`:
|
|
59
|
+
|
|
60
|
+
* `None` is only added to the output dict for nullable fields that
|
|
61
|
+
were set at model initialization. Other fields with value `None`
|
|
62
|
+
are ignored.
|
|
63
|
+
"""
|
|
64
|
+
excluded_fields: Set[str] = set([
|
|
65
|
+
])
|
|
66
|
+
|
|
67
|
+
_dict = self.model_dump(
|
|
68
|
+
by_alias=True,
|
|
69
|
+
exclude=excluded_fields,
|
|
70
|
+
exclude_none=True,
|
|
71
|
+
)
|
|
72
|
+
return _dict
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
76
|
+
"""Create an instance of AuditRequest from a dict"""
|
|
77
|
+
if obj is None:
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
if not isinstance(obj, dict):
|
|
81
|
+
return cls.model_validate(obj)
|
|
82
|
+
|
|
83
|
+
_obj = cls.model_validate({
|
|
84
|
+
"url": obj.get("url")
|
|
85
|
+
})
|
|
86
|
+
return _obj
|
|
87
|
+
|
|
88
|
+
|