| body |
{"product": {"rating": null, "rating_count": null, "brand": "La Sportiva", "name": "Beyond Long-Sleeve Shirt", "description": "What Our Gearhead\u00ae Experts Are Saying:\"I put the Beyond Long-Sleeve Shirt through a full day of switchbacks with a loaded pack and it held up exactly how I needed it to. The Polartec\u00ae Delta\u2122 fabric did a real job of moving moisture away during the climbs, and by the time I hit the ridge the shoulders showed zero signs of wear from the straps. Three seasons in and this is my default hiking layer when the temperature starts to drop.\"Cool morning air, a loaded pack, and a long ridgeline ahead. The La Sportiva Beyond Long-Sleeve Shirt is the piece you grab on those days when the forecast is uncertain and the mileage is not, built to manage heat and moisture as the trail pitches upward and the effort compounds over hours.La Sportiva engineered this shirt around Polartec\u00ae Delta\u2122 fabric, a specialized construction that pairs hydrophobic and hydrophilic yarns to pull moisture away from the body and push it outward where it can evaporate. Mesh inserts at the underarms and sides keep airflow moving through the hardest climbing sections, while reinforced paneling across the shoulders protects against the slow abrasion of a shoulder strap grinding through a full day of miles. Reflective details mean the shirt keeps working even when the light drops on the back half of a long push. Everything here is built with intention, and the recycled materials running through the construction mean the trail you are hiking stays worth hiking.", "data": {"dataFacets": [{"name": "Material", "values": ["Polyester", "Elastane", "Fabric", "Polyamide", "Lyocell"]}, {"name": "Fit", "values": ["Regular"]}]}, "categories": ["Men's Clothing > Men's Shirts > Men's Performance Shirts > Men's Long-Sleeve Performance Shirts"], "gender": "Men's", "product_images": [], "market_id": 17, "remote_code": "la-sportiva-beyond-long-sleeve-shirt-mens", "is_lost": 0, "variants": [{"remote_code": "LSPZ2R9-NIGSKYSAV-L", "upc": "", "email_meta": "LSPZ2R9", "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens?skid=LSPZ2R9-NIGSKYSAV-L", "size": "L", "origin_color": "Night Sky/Savana", "price": 62.3, "price_full": 89.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D3.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D2.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "description": "Night Sky/Savana, L", "colors": ["Night Sky/Savana"]}, {"remote_code": "LSPZ2R9-NIGSKYSAV-M", "upc": "", "email_meta": "LSPZ2R9", "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens?skid=LSPZ2R9-NIGSKYSAV-M", "size": "M", "origin_color": "Night Sky/Savana", "price": 62.3, "price_full": 89.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D3.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D2.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "description": "Night Sky/Savana, M", "colors": ["Night Sky/Savana"]}, {"remote_code": "LSPZ2R9-NIGSKYSAV-S", "upc": "", "email_meta": "LSPZ2R9", "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens?skid=LSPZ2R9-NIGSKYSAV-S", "size": "S", "origin_color": "Night Sky/Savana", "price": 62.3, "price_full": 89.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D3.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D2.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "description": "Night Sky/Savana, S", "colors": ["Night Sky/Savana"]}, {"remote_code": "LSPZ2R9-NIGSKYSAV-XL", "upc": "", "email_meta": "LSPZ2R9", "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens?skid=LSPZ2R9-NIGSKYSAV-XL", "size": "XL", "origin_color": "Night Sky/Savana", "price": 62.3, "price_full": 89.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D3.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D2.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/NIGSKYSAV.jpg", "description": "Night Sky/Savana, XL", "colors": ["Night Sky/Savana"]}, {"remote_code": "LSPZ2R9-ONYCHA-L", "upc": "", "email_meta": "LSPZ2R9", "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens?skid=LSPZ2R9-ONYCHA-L", "size": "L", "origin_color": "Onyx/Chalk", "price": 62.3, "price_full": 89.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D3.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D2.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA.jpg", "description": "Onyx/Chalk, L", "colors": ["Onyx/Chalk"]}, {"remote_code": "LSPZ2R9-ONYCHA-M", "upc": "", "email_meta": "LSPZ2R9", "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens?skid=LSPZ2R9-ONYCHA-M", "size": "M", "origin_color": "Onyx/Chalk", "price": 62.3, "price_full": 89.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D3.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D2.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA.jpg", "description": "Onyx/Chalk, M", "colors": ["Onyx/Chalk"]}, {"remote_code": "LSPZ2R9-ONYCHA-S", "upc": "", "email_meta": "LSPZ2R9", "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens?skid=LSPZ2R9-ONYCHA-S", "size": "S", "origin_color": "Onyx/Chalk", "price": 62.3, "price_full": 89.0, "variant_images": ["https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D3.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D2.jpg", "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA_D1.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/LSP/LSPZ2R9/ONYCHA.jpg", "description": "Onyx/Chalk, S", "colors": ["Onyx/Chalk"]}]}, "remote_url": "https://www.backcountry.com/la-sportiva-beyond-long-sleeve-shirt-mens", "parsing_type": "full", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: 'la-sportiva-beyond-long-sleeve-shirt-mens' - parsed successfully. additional_error_text=''"} |
| error_text |
File "/opt/working_folder/middlewares/catch_errors_middleware/catch_500_errors.py", line 15, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 84, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 70, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 83, in __call__
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
await self.app(scope, receive, sender)
File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
raise e
File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 66, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 274, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 193, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
result = context.run(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/working_folder/api/logging_router/api/product_logging.py", line 495, in log_product_upload
add_product_history(db, market_id, remote_code, json_data)
File "/opt/working_folder/api/logging_router/api/product_logging.py", line 319, in add_product_history
.first()
^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2728, in first
return self.limit(1)._iter().first() # type: ignore
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2827, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2362, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2247, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1418, in execute
return meth(
^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 941, in do_execute
cursor.execute(statement, parameters)
|