From 7ff3c447477bbd18f8529167071cf2830feb598f Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Tue, 2 Dec 2025 16:01:45 +0100 Subject: [PATCH] Reduced logging impact --- src/alpine_bits_python/conversion_service.py | 43 +++++++------------- 1 file changed, 15 insertions(+), 28 deletions(-) diff --git a/src/alpine_bits_python/conversion_service.py b/src/alpine_bits_python/conversion_service.py index 94ab1b5..1b78b98 100644 --- a/src/alpine_bits_python/conversion_service.py +++ b/src/alpine_bits_python/conversion_service.py @@ -106,13 +106,13 @@ class ConversionService: if isinstance(session, SessionMaker): self.session_maker = session self.supports_concurrent = True - _LOGGER.info( + _LOGGER.debug( "ConversionService initialized in concurrent mode with SessionMaker" ) elif isinstance(session, AsyncSession): self.session = session self.supports_concurrent = False - _LOGGER.info( + _LOGGER.debug( "ConversionService initialized in sequential mode with single session" ) elif session is not None: @@ -123,19 +123,19 @@ class ConversionService: @staticmethod def _parse_required_int(value: str | None, field_name: str) -> int: """Parse an integer attribute that must be present.""" - if value in (None, ""): raise ValueError(f"{field_name} is required") try: return int(value) except (TypeError, ValueError) as exc: - raise ValueError(f"{field_name} must be an integer (value={value})") from exc + raise ValueError( + f"{field_name} must be an integer (value={value})" + ) from exc @staticmethod def _parse_optional_int(value: str | None, field_name: str) -> int | None: """Parse an optional integer attribute, logging on failure.""" - if value in (None, ""): return None @@ -148,7 +148,6 @@ class ConversionService: @staticmethod def _parse_date(value: str | None, field_name: str) -> date | None: """Parse a YYYY-MM-DD formatted date string.""" - if not value: return None @@ -161,7 +160,6 @@ class ConversionService: @staticmethod def _parse_datetime(value: str | None, field_name: str) -> datetime | None: """Parse an ISO timestamp string.""" - if not value: return None @@ -176,7 +174,6 @@ class ConversionService: self, daily_sales_elem: ET.Element | None ) -> tuple[list[dict[str, str]], Decimal | None, int]: """Extract the list of sale dictionaries and aggregate revenue information.""" - if daily_sales_elem is None: return [], None, 0 @@ -198,9 +195,7 @@ class ConversionService: try: total_revenue += Decimal(revenue_total_str) except (ValueError, TypeError): - _LOGGER.warning( - "Invalid revenueTotal value: %s", revenue_total_str - ) + _LOGGER.warning("Invalid revenueTotal value: %s", revenue_total_str) # Copy the remaining optional revenue buckets if present for field_name in ( @@ -224,16 +219,15 @@ class ConversionService: self, room_elem: ET.Element, pms_reservation_id: int, room_index: int ) -> ParsedRoomReservation: """Convert a element into ParsedRoomReservation.""" - arrival_date = self._parse_date(room_elem.get("arrival"), "arrival date") - departure_date = self._parse_date( - room_elem.get("departure"), "departure date" - ) + departure_date = self._parse_date(room_elem.get("departure"), "departure date") num_adults = self._parse_optional_int(room_elem.get("adults"), "adults") room_number = room_elem.get("roomNumber") if room_number is None: _LOGGER.debug( - "Room reservation %s #%d has no roomNumber", pms_reservation_id, room_index + "Room reservation %s #%d has no roomNumber", + pms_reservation_id, + room_index, ) daily_sales, total_revenue, sale_count = self._parse_daily_sales( @@ -259,7 +253,6 @@ class ConversionService: self, reservation_elem: ET.Element ) -> ParsedReservationData | None: """Convert a element into a structured representation.""" - try: pms_reservation_id = self._parse_required_int( reservation_elem.get("id"), "reservation id" @@ -447,7 +440,7 @@ class ConversionService: await session.execute(stmt) - _LOGGER.info( + _LOGGER.debug( "Phase 1: Upserted batch %d-%d of %d guests", batch_start + 1, batch_end, @@ -983,15 +976,11 @@ class ConversionService: if existing_room_reservation: # Update existing room reservation with all fields - existing_room_reservation.arrival_date = ( - room_reservation.arrival_date - ) + existing_room_reservation.arrival_date = room_reservation.arrival_date existing_room_reservation.departure_date = ( room_reservation.departure_date ) - existing_room_reservation.room_status = ( - room_reservation.room_status - ) + existing_room_reservation.room_status = room_reservation.room_status existing_room_reservation.room_type = room_reservation.room_type existing_room_reservation.num_adults = room_reservation.num_adults existing_room_reservation.rate_plan_code = ( @@ -1005,9 +994,7 @@ class ConversionService: if room_reservation.daily_sales else None ) - existing_room_reservation.total_revenue = ( - room_reservation.total_revenue - ) + existing_room_reservation.total_revenue = room_reservation.total_revenue existing_room_reservation.updated_at = datetime.now() _LOGGER.debug( "Updated room reservation %s (pms_id=%s, room=%s)", @@ -1872,7 +1859,7 @@ class ConversionService: conversion_guest.is_regular = is_regular if is_regular: - _LOGGER.info( + _LOGGER.debug( "Marking guest %s as regular: earliest paying conversion %s predates first reservation created at %s", guest_id, earliest_paying_conversion.reservation_date,