66from src .core .tasks .scheduled .impl .sync_to_ds .constants import PER_REQUEST_ENTITY_LIMIT
77from src .core .tasks .scheduled .impl .sync_to_ds .impl .data_sources .add .queries .cte import \
88 DSAppLinkSyncDataSourceAddPrerequisitesCTEContainer
9- from src .core .tasks .scheduled .impl .sync_to_ds .shared .convert import convert_sm_url_status_to_ds_url_status
9+ from src .core .tasks .scheduled .impl .sync_to_ds .shared .convert import convert_sm_url_health_to_ds_url_status
1010from src .db .models .impl .link .url_agency .sqlalchemy import LinkURLAgency
1111from src .db .models .impl .url .core .sqlalchemy import URL
12- from src .db .models .impl .url .internet_archives .probe .sqlalchemy import URLInternetArchivesProbeMetadata
1312from src .db .models .impl .url .optional_ds_metadata .sqlalchemy import URLOptionalDataSourceMetadata
1413from src .db .models .impl .url .record_type .sqlalchemy import URLRecordType
15- from src .db .models .impl .url .web_metadata .sqlalchemy import URLWebMetadata
16- from src .db .models .materialized_views .url_status .sqlalchemy import URLStatusMaterializedView
14+ from src .db .models .materialized_views .url_health .sqlalchemy import URLHealthMaterializedView
1715from src .db .queries .base .builder import QueryBuilderBase
18- from src .external .pdap .enums import DataSourcesURLStatus
1916from src .external .pdap .impl .sync .data_sources ._shared .content import DataSourceSyncContentModel
2017from src .external .pdap .impl .sync .data_sources .add .request import AddDataSourcesOuterRequest , AddDataSourcesInnerRequest
2118
@@ -42,7 +39,6 @@ async def run(self, session: AsyncSession) -> AddDataSourcesOuterRequest:
4239 # Required
4340 URL .full_url ,
4441 URL .name ,
45- URLWebMetadata .status_code ,
4642 URLRecordType .record_type ,
4743 agency_id_cte .c .agency_ids ,
4844 # Optional
@@ -61,7 +57,9 @@ async def run(self, session: AsyncSession) -> AddDataSourcesOuterRequest:
6157 URLOptionalDataSourceMetadata .scraper_url ,
6258 URLOptionalDataSourceMetadata .access_notes ,
6359 URLOptionalDataSourceMetadata .access_types ,
64- URLInternetArchivesProbeMetadata .archive_url ,
60+ URLHealthMaterializedView .health ,
61+ URLHealthMaterializedView .has_archive ,
62+ URLHealthMaterializedView .archive_url ,
6563 )
6664 .select_from (
6765 cte .cte
@@ -75,12 +73,8 @@ async def run(self, session: AsyncSession) -> AddDataSourcesOuterRequest:
7573 URL .id == URLOptionalDataSourceMetadata .url_id ,
7674 )
7775 .outerjoin (
78- URLWebMetadata ,
79- URL .id == URLWebMetadata .url_id
80- )
81- .outerjoin (
82- URLInternetArchivesProbeMetadata ,
83- URL .id == URLInternetArchivesProbeMetadata .url_id ,
76+ URLHealthMaterializedView ,
77+ URL .id == URLHealthMaterializedView .url_id ,
8478 )
8579 .join (
8680 URLRecordType ,
@@ -124,15 +118,15 @@ async def run(self, session: AsyncSession) -> AddDataSourcesOuterRequest:
124118 scraper_url = mapping [URLOptionalDataSourceMetadata .scraper_url ],
125119 access_notes = mapping [URLOptionalDataSourceMetadata .access_notes ],
126120 access_types = mapping [URLOptionalDataSourceMetadata .access_types ] or [],
127- # TODO: Change to convert web metadata result to URL Status
128- url_status = convert_sm_url_status_to_ds_url_status (
129- mapping [URLWebMetadata . status_code ] ,
121+ url_status = convert_sm_url_health_to_ds_url_status (
122+ health = mapping [ URLHealthMaterializedView . health ],
123+ has_archive = mapping [URLHealthMaterializedView . has_archive ] or False ,
130124 ),
131- internet_archives_url = mapping [URLInternetArchivesProbeMetadata .archive_url ] or None ,
125+ internet_archives_url = mapping [URLHealthMaterializedView .archive_url ] or None ,
132126 )
133127 )
134128 )
135129
136130 return AddDataSourcesOuterRequest (
137131 data_sources = inner_requests ,
138- )
132+ )
0 commit comments