| body |
{"product": {"rating": null, "rating_count": null, "brand": "ATTITUDE", "name": "Sunly Mineral Face Sunscreen SPF 30, Unscented", "description": "PureFormulas is an authorized retailer of ATTITUDE products. You can shop with confidence, knowing that all products purchased from PureFormulas are authentic. ATTITUDE's Mineral Face Sunscreen SPF 30 - Unscented provides gentle and effective sun protection\u201a specially designed for sensitive skin and delicate noses. Made with non-nano zinc oxide\u201a this mineral sunscreen offers broad spectrum UVA/UVB protection while being kind to the environment. Its lightweight\u201a non-greasy liquid formula is easy to apply\u201a ensuring comfort and convenience for everyday use. This EWG VERIFIED\u2122 sunscreen is enriched with oat extract to help revitalize dry and delicate skin\u201a making it a nourishing option for all skin types. Dermatologically tested and vegan\u201a it provides a clean and sustainable choice for those seeking reliable sun protection for the face. Key Benefits & Features: \u2022 Provides broad spectrum UVA/UVB protection with non-nano zinc oxide. \u2022 Unscented formula ideal for sensitive skin and delicate noses. \u2022 Enriched with oat extract to revitalize dry and delicate skin. \u2022 EWG VERIFIED\u2122 for clean\u201a transparent ingredients. \u2022 Dermatologically tested for safety and effectiveness. \u2022 Lightweight\u201a easy-to-apply liquid formula with a non-greasy finish. \u2022 Vegan and environmentally conscious formulation. ATTITUDE's Mineral Face Sunscreen SPF 30 - Unscented is the perfect solution for effective and eco-friendly sun protection\u201a giving you peace of mind while you enjoy the outdoors. These statements have not been evaluated by the Food and Drug Administration (FDA). These products are not meant to diagnose\u201a treat or cure any disease or medical condition. Please consult your doctor before starting any exercise or nutritional supplement program or before using these or any product during pregnancy or if you have a serious medical condition. Report incorrect product information", "data": {"dataFacets": [], "product_id": "1000054435", "repository_id": "1000054435", "route": "/product/mineral-face-sunscreen-spf-30-unscented-by-attitude/1000054435", "part_number": null, "parent_category_id_path": "rootCategory>beauty", "product_type": "Product", "tags": [], "highlights": [], "main_ingredient": null}, "categories": ["Beauty"], "gender": null, "product_images": ["https://www.pureformulas.com/file/v8286561134065144912/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude.jpg", "https://www.pureformulas.com/file/v7567339859959391144/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude-extra1.jpg", "https://www.pureformulas.com/file/v3478386549728562919/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude-extra2.jpg"], "market_id": 144, "remote_code": "1000054435", "is_lost": 0, "variants": [{"remote_code": "AUD1123", "upc": "626232160239", "remote_url": "https://www.pureformulas.com/product/mineral-face-sunscreen-spf-30-unscented-by-attitude/1000054435?skuId=AUD1123", "size": "2.6 oz (75 Grams)", "origin_color": "Default", "price": 18.39, "email_meta": "AUD1123", "variant_images": ["https://www.pureformulas.com/file/v8286561134065144912/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude.jpg", "https://www.pureformulas.com/file/v7567339859959391144/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude-extra1.jpg", "https://www.pureformulas.com/file/v3478386549728562919/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude-extra2.jpg", "https://www.pureformulas.com/file/v346579187137327015/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude-extra3.jpg", "https://www.pureformulas.com/file/v2237872579223395776/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude-extra4.jpg", "https://www.pureformulas.com/file/v3133410109708905628/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude-extra5.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.pureformulas.com/file/v8286561134065144912/products/mineral-face-sunscreen-spf-30-unscented-26-oz-75-grams-by-attitude.jpg", "description": "Size: 2.6 oz (75 Grams)", "colors": ["Default"], "additional_upc": "1000054435", "weight": 86}]}, "remote_url": "https://www.pureformulas.com/product/mineral-face-sunscreen-spf-30-unscented-by-attitude/1000054435", "type_parsing": "full", "parsing_type": "full", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: '1000054435' - 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)
|