| body |
{"product": {"category_meta_splitter": null, "meta_category": ["Target > Personal Care > Oral Care > Manual Toothbrushes"], "origin_url": "https://www.target.com/c/manual-toothbrushes-oral-care-personal/-/N-5xtzt", "rating": 4.72, "rating_count": 1909, "brand": "Colgate", "name": "Colgate 360 Advanced Floss-Tip Manual Toothbrush - Medium", "description": "Colgate 360 Total Advanced Floss-Tip Bristles manual toothbrush is designed with tapered bristles that are 17 times thinner than ordinary end-rounded bristles. The purple-ended tapered bristles gently reach deep between teeth and along the gum line for a 4X deeper reach, compared to an ordinary flat trim toothbrush. Our unique cheek and tongue cleaner removes bacteria better than brushing teeth alone with an ordinary flat-trim toothbrush. This toothbrush does not replace flossing.\n •4X deeper reach<br>•Cleans teeth, tongue, cheeks and gums<br>•Purple-ended Floss-Tip bristles gently reach deep between teeth and along the gum line<br>•Ergonomic handle design<br>•This toothbrush does not replace flossing", "data": {"dataFacets": []}, "categories": ["Personal Care > Oral Care > Manual Toothbrushes"], "gender": "N/A", "location": "OxfordValley;Neshaminy;PhiladelphiaRooseveltBlvd;AbingtonTownship;PhiladelphiaCottman", "product_images": [], "market_id": 84, "remote_code": "52536551", "is_lost": 0, "variants": [{"remote_code": "14299862", "upc": "035000972194", "remote_url": "https://www.target.com/p/~/-/A-14299862", "size": "1ct", "origin_color": "N/A", "price": 4.79, "price_full": null, "variant_images": ["https://target.scene7.com/is/image/Target/GUEST_8d150dad-1e29-4fff-a7ae-b53de3df05f4?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_69c6f4ef-c6fc-48be-ac5f-ab7ec685aca1?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_67556774-fba2-46a2-80fe-48908150bf1f?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_bda27d8b-288f-42ce-9648-4525a8d06551?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_166ddc32-afd8-4f82-975d-529cd6586124?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_7ec7fd55-d387-4414-afb0-2825e35bdd1d?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_0981ad8b-549d-4328-83ec-236b16220183?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_3cb730a5-5c31-4b58-b54b-ed924c9b4d78?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_b07e5417-cf74-409c-9482-ff9b45b1895c?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_6bfb3870-a3dc-473f-b4ce-dd4f06ce2467?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_653b3e8e-50ac-41e6-94c3-8ba060e6e625?wid=1200&hei=1200"], "stock_count": 1, "data": ["transfer"], "image_url": "https://target.scene7.com/is/image/Target/GUEST_bda27d8b-288f-42ce-9648-4525a8d06551", "description": "Color: N/A; Size: 1ct", "colors": ["N/A"]}, {"remote_code": "52536551", "upc": "035000972200", "remote_url": "https://www.target.com/p/~/-/A-52536551", "size": "2ct", "origin_color": "N/A", "price": 8.99, "price_full": null, "variant_images": ["https://target.scene7.com/is/image/Target/GUEST_7322b0c7-0aa2-4c2b-88ed-8826f052b1d7?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_5f939b6f-09bd-4ad1-8724-a924f9c03efd?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_52d3fb04-75d6-4e49-a83c-d444f71b72ec?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_834c44b7-ab47-4bf0-9037-cef358588064?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_6b95f278-8a41-4c24-be3c-d87e4d313750?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_67556774-fba2-46a2-80fe-48908150bf1f?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_166ddc32-afd8-4f82-975d-529cd6586124?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_8722f0bd-b83c-4ebb-bb44-54185fda49f9?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_3cb730a5-5c31-4b58-b54b-ed924c9b4d78?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_6bfb3870-a3dc-473f-b4ce-dd4f06ce2467?wid=1200&hei=1200", "https://target.scene7.com/is/image/Target/GUEST_653b3e8e-50ac-41e6-94c3-8ba060e6e625?wid=1200&hei=1200"], "stock_count": 1, "data": ["transfer"], "image_url": "https://target.scene7.com/is/image/Target/GUEST_5f939b6f-09bd-4ad1-8724-a924f9c03efd", "description": "Color: N/A; Size: 2ct", "colors": ["N/A"]}]}, "remote_url": "https://www.target.com/p/~/-/A-52536551", "parsing_type": "refresh", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: '52536551' - 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 308, in log_product_upload
db.commit()
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2028, in commit
trans.commit(_to_root=True)
File "<string>", line 2, in commit
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
ret_value = fn(self, *arg, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1313, in commit
self._prepare_impl()
File "<string>", line 2, in _prepare_impl
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
ret_value = fn(self, *arg, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1288, in _prepare_impl
self.session.flush()
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4352, in flush
self._flush(objects)
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4487, in _flush
with util.safe_reraise():
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4448, in _flush
flush_context.execute()
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 1233, in _emit_insert_statements
result = connection.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)
|