| body |
{"product": {"rating": 5.0, "rating_count": 1, "brand": "Boiron", "name": "MotionCalm\u2122 Tablets", "description": "PureFormulas is an authorized retailer of Boiron products. You can shop with confidence, knowing that all products purchased from PureFormulas are authentic, and sourced directly from the brand. MotionCalm\u2122 Meltaway Tablets Take the worry out of travel with MotionCalm by Boiron. This homeopathic medicine prevents and relieves nausea\u201a vomiting\u201a and dizziness associated with travel-related motion sickness.* It\u2019s also useful for motion sickness from amusement rides or video games.* Convenient and easy to use\u201a the meltaway tablets dissolve in the mouth without food or water. Take the evening before and day of travel to prevent motion sickness or take on the spot whenever symptoms strike. Benefits and Features \u2713 Prevents and relieves motion sickness symptoms.* \u2713 Convenient and easy to use with travel-friendly packaging. \u2713 Non-drowsy; free of meclizine\u201a antihistamines\u201a and caffeine. \u2713 No known interactions with other medications\u201a herbs\u201a or supplements. \u2713 No artificial sweeteners\u201a flavors\u201a colors\u201a or preservatives. \u2713 Recommended for adults and children ages 2 and up. \u2713 Box contains 60 unflavored meltaway tablets. \u2713 Boiron\u2019s digestive relief line includes Acidil\u00ae\u201a Gasalia\u00ae\u201a Diaralia\u00ae\u201a and NauseaCalm\u2122. MotionCalm works gently on the body without risk of drowsiness\u201a and is free of meclizine\u201a antihistamines\u201a and caffeine. Formulated with plant-based and other pure active ingredients\u201a this medicine has no interactions with other medications\u201a herbs\u201a or supplements. And it\u2019s made without artificial sweeteners\u201a flavors\u201a colors\u201a or preservatives. Each travel-friendly box contains 60 unflavored meltaway tablets recommended for adults and children ages 2 and up. For young children\u201a tablets may be dissolved in water for easier intake. Boiron\u2019s digestive relief line includes Acidil\u00ae\u201a Gasalia\u00ae\u201a Diaralia\u201a and NauseaCalm\u2122. 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": "1000056226", "repository_id": "1000056226", "route": "/product/motioncalm-tablets-by-boiron/1000056226", "part_number": null, "parent_category_id_path": "rootCategory>supplements>intestinal-digestive>antiparasitic", "product_type": "Product", "tags": [], "highlights": [], "main_ingredient": "Gastrointestinal Support Formula"}, "categories": ["Supplements > Intestinal Digestive > Antiparasitic"], "gender": null, "product_images": ["https://www.pureformulas.com/file/v4908288790703556104/products/motion-calm-meltaway-tablets-60-tablets-by-boiron.jpg", "https://www.pureformulas.com/file/v7956973818047238724/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra1.jpg", "https://www.pureformulas.com/file/v6546412924447901180/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra2.jpg", "https://www.pureformulas.com/file/v1303857727238627852/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra3.jpg", "https://www.pureformulas.com/file/v6767244862901568283/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra4.jpg", "https://www.pureformulas.com/file/v1269355290837421085/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra5.jpg", "https://www.pureformulas.com/file/v2061534830068616088/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra6.jpg", "https://www.pureformulas.com/file/v2830131851665007052/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra7.jpg", "https://www.pureformulas.com/file/v2140097347115055108/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra8.jpg"], "market_id": 144, "remote_code": "1000056226", "is_lost": 0, "variants": [{"remote_code": "BO2119", "upc": "306969234044", "remote_url": "https://www.pureformulas.com/product/motioncalm-tablets-by-boiron/1000056226?skuId=BO2119", "size": "60 Meltaway Tablets", "origin_color": "Default", "price": 11.01, "email_meta": "BO2119", "variant_images": ["https://www.pureformulas.com/file/v4908288790703556104/products/motion-calm-meltaway-tablets-60-tablets-by-boiron.jpg", "https://www.pureformulas.com/file/v7956973818047238724/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra1.jpg", "https://www.pureformulas.com/file/v6546412924447901180/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra2.jpg", "https://www.pureformulas.com/file/v1303857727238627852/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra3.jpg", "https://www.pureformulas.com/file/v6767244862901568283/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra4.jpg", "https://www.pureformulas.com/file/v1269355290837421085/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra5.jpg", "https://www.pureformulas.com/file/v2061534830068616088/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra6.jpg", "https://www.pureformulas.com/file/v2830131851665007052/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra7.jpg", "https://www.pureformulas.com/file/v2140097347115055108/products/motion-calm-meltaway-tablets-60-tablets-by-boiron-extra8.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.pureformulas.com/file/v4908288790703556104/products/motion-calm-meltaway-tablets-60-tablets-by-boiron.jpg", "description": "Size: 60 Meltaway Tablets", "colors": ["Default"], "additional_upc": "1000056226", "weight": 32}]}, "remote_url": "https://www.pureformulas.com/product/motioncalm-tablets-by-boiron/1000056226", "type_parsing": "full", "parsing_type": "full", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: '1000056226' - 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)
|