Remove flaresolverr and optimize refresh upserts

This commit is contained in:
qananasikq
2026-05-04 19:02:40 +03:00
parent 6dc08c15f0
commit 47ee4311c7
4 changed files with 11 additions and 25 deletions

View File

@@ -248,6 +248,8 @@ class MobileDeMapper:
return "US"
if text in {"CA", "CANADA"}:
return "CA"
if text in {"IT", "ITALY", "ITALIA"}:
return "IT"
if text in {"JP", "JAPAN"}:
return "JP"
if text in {"KR", "KOREA", "SOUTH KOREA"}:

View File

@@ -1,4 +1,5 @@
import logging
import os
from contextlib import contextmanager
from datetime import datetime, timezone
from typing import Any, Iterator
@@ -12,6 +13,7 @@ from .models import Base, Car, Image, SyncRun
from .schemas import CarRecord
logger = logging.getLogger("MOBILEDE_scraper.db")
MOBILEDE_SKIP_IMAGES_FOR_UPDATED = os.getenv("MOBILEDE_SKIP_IMAGES_FOR_UPDATED", "1").strip().lower() in {"1", "true", "yes", "on"}
CAR_DB_FIELDS = {
@@ -264,17 +266,19 @@ class PersistenceService:
images = [image.model_dump(mode="python") for image in record.images]
car_by_id = existing_by_id.get(record.origin_id)
car_by_url = existing_by_url.get(record.origin_url)
entry: dict[str, object] = {"record": record, "images": images, "car_id": None}
entry: dict[str, object] = {"record": record, "images": images, "car_id": None, "action": "inserted"}
if car_by_url is not None and car_by_url.origin_id != record.origin_id and car_by_id is None:
for key, value in payload.items():
setattr(car_by_url, key, value)
car_by_url.last_seen_at = record.last_seen_at
entry["car_id"] = int(car_by_url.id)
entry["action"] = "updated"
updated += 1
else:
upsert_payloads.append(payload)
if car_by_id is not None:
entry["action"] = "updated"
updated += 1
else:
inserted += 1
@@ -306,7 +310,10 @@ class PersistenceService:
for entry in entries:
car_id = int(entry["car_id"])
action = str(entry.get("action") or "updated")
images = entry["images"]
if MOBILEDE_SKIP_IMAGES_FOR_UPDATED and action == "updated":
continue
new_image_urls = {
str(img.get("fullres_image", ""))
for img in images

View File

@@ -16,7 +16,7 @@ BODY_TYPE_ENUM_VALUES = (
"OTHER",
"NA",
)
COUNTRY_ENUM_VALUES = ("JP", "KR", "US", "CA", "DE", "NA")
COUNTRY_ENUM_VALUES = ("JP", "KR", "US", "CA", "DE", "IT", "NA")
ORIGIN_ENUM_VALUES = (
"MOBILEDE",
"MOBILE_DE",