22from sqlalchemy .ext .asyncio import AsyncSession
33from sqlalchemy .orm import joinedload
44
5- from src .api .endpoints .annotate ._shared .queries .get_annotation_batch_info import GetAnnotationBatchInfoQueryBuilder
6- from src .api .endpoints .annotate .all .get .models .agency import AgencyAnnotationResponseOuterInfo
7- from src .api .endpoints .annotate .all .get .models .location import LocationAnnotationResponseOuterInfo
8- from src .api .endpoints .annotate .all .get .models .name import NameAnnotationSuggestion
9- from src .api .endpoints .annotate .all .get .models .record_type import RecordTypeAnnotationSuggestion
10- from src .api .endpoints .annotate .all .get .models .response import GetNextURLForAllAnnotationResponse , \
11- GetNextURLForAllAnnotationInnerResponse
12- from src .api .endpoints .annotate .all .get .models .url_type import URLTypeAnnotationSuggestion
13- from src .api .endpoints .annotate .all .get .queries .agency .core import GetAgencySuggestionsQueryBuilder
14- from src .api .endpoints .annotate .all .get .queries .convert import \
15- convert_user_url_type_suggestion_to_url_type_annotation_suggestion , \
16- convert_user_record_type_suggestion_to_record_type_annotation_suggestion
17- from src .api .endpoints .annotate .all .get .queries .location_ .core import GetLocationSuggestionsQueryBuilder
18- from src .api .endpoints .annotate .all .get .queries .name .core import GetNameSuggestionsQueryBuilder
5+ from src .api .endpoints .annotate ._shared .extract import extract_and_format_get_annotation_result
6+ from src .api .endpoints .annotate .all .get .models .response import GetNextURLForAllAnnotationResponse
197from src .collectors .enums import URLStatus
20- from src .db .dto_converter import DTOConverter
21- from src .db .dtos .url .mapping import URLMapping
228from src .db .models .impl .flag .url_suspended .sqlalchemy import FlagURLSuspended
239from src .db .models .impl .link .batch_url .sqlalchemy import LinkBatchURL
2410from src .db .models .impl .url .core .sqlalchemy import URL
@@ -135,43 +121,5 @@ async def run(
135121 next_annotation = None
136122 )
137123
138- html_response_info = DTOConverter .html_content_list_to_html_response_info (
139- url .html_content
140- )
141-
142- url_type_suggestions : list [URLTypeAnnotationSuggestion ] = \
143- convert_user_url_type_suggestion_to_url_type_annotation_suggestion (
144- url .user_relevant_suggestions
145- )
146- record_type_suggestions : list [RecordTypeAnnotationSuggestion ] = \
147- convert_user_record_type_suggestion_to_record_type_annotation_suggestion (
148- url .user_record_type_suggestions
149- )
150- agency_suggestions : AgencyAnnotationResponseOuterInfo = \
151- await GetAgencySuggestionsQueryBuilder (url_id = url .id ).run (session )
152- location_suggestions : LocationAnnotationResponseOuterInfo = \
153- await GetLocationSuggestionsQueryBuilder (url_id = url .id ).run (session )
154- name_suggestions : list [NameAnnotationSuggestion ] = \
155- await GetNameSuggestionsQueryBuilder (url_id = url .id ).run (session )
156-
124+ return await extract_and_format_get_annotation_result (session , url = url , batch_id = self .batch_id )
157125
158- return GetNextURLForAllAnnotationResponse (
159- next_annotation = GetNextURLForAllAnnotationInnerResponse (
160- url_info = URLMapping (
161- url_id = url .id ,
162- url = url .url
163- ),
164- html_info = html_response_info ,
165- url_type_suggestions = url_type_suggestions ,
166- record_type_suggestions = record_type_suggestions ,
167- agency_suggestions = agency_suggestions ,
168- batch_info = await GetAnnotationBatchInfoQueryBuilder (
169- batch_id = self .batch_id ,
170- models = [
171- UserUrlAgencySuggestion ,
172- ]
173- ).run (session ),
174- location_suggestions = location_suggestions ,
175- name_suggestions = name_suggestions
176- )
177- )
0 commit comments