| body |
{"product": {"partial_update": 0, "variant_remote_code": null, "rating": 5.0, "rating_count": 1, "brand": "Armani Exchange", "seller_name": "A%7CXArmaniExchange", "author": null, "name": "Armani Exchange mens Ax1062 Hexagonal Prescription Eyewear Frames", "description": "The updated hexagonal shape of AX1062 makes it both fashionable and functional and the perfect style statement. Armani Exchange eyeglass frames feature lenses that need to be replaced with prescription lenses so you can enjoy clear vision. Young and contemporary, A|X Armani Exchange eyeglass frames redefine the essentials of Armani style through a sophisticated use of urban style. Armani Exchange eyeglass frames sold by authorized sellers, like Amazon, are eligible for all manufacturer warranties and guarantees. Click on the Armani Exchange link above the product title to shop the entire Armani Exchange sunglass and eyeglass assortment.\n \n \n \n Origin\n \n Imported\n \n \n \n About this item \nFRAME FEATURES: AX1062 eyeglass frames feature a hexagonal, matte black frame\n \nPRESCRIPTION READY EYEGLASS FRAMES: Armani Exchange eyeglass frames feature lenses that need to be replaced with prescription lenses so you can enjoy clear vision\n \nCASE & CLEANING CLOTH INCLUDED: Each pair of Armani Exchange eyeglass frames come with a cleaning cloth and case to clean and protect your eyewear from scratches and damage\n \nSee more \nAbout this item\n ", "data": {"dataFacets": []}, "categories": ["Clothing, Shoes & Jewelry > Men > Accessories > Sunglasses & Eyewear Accessories > Eyewear Frames"], "gender": "Men", "product_images": [], "market_id": 37, "remote_code": "B0FTWMQZV5", "is_lost": 0, "variants": [{"remote_code": "B0FTWMQZV5", "additional_upc": "B0CH3XKFMB", "remote_url": "https://www.amazon.com/dp/B0CH3XKFMB?th=1&psc=1", "delivery_days": 6, "weight": 70.0, "size": "NO_SIZE", "origin_color": "Matte Black/Demo Lens", "price": 50.6, "variant_images": ["https://m.media-amazon.com/images/I/51RC+an+nwL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51MhaAVKUEL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51y9u4w0+pL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51eHskh-q8L._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/512V1Kisj6L._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/71FqgRms83L._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/51RC+an+nwL._AC_SL1500_._AC_SY300.jpg", "description": "Color: Matte Black/Demo Lens; Size: NO_SIZE", "colors": ["Matte Black/Demo Lens"], "upc": "", "name": "", "combo_key": "NO_SIZEMatte Black/Demo Lens"}, {"remote_code": "B0CH3XW82Z", "additional_upc": "B0CH3XW82Z", "remote_url": "https://www.amazon.com/dp/B0CH3XW82Z?th=1&psc=1", "delivery_days": 5, "weight": "", "size": "NO_SIZE", "origin_color": "Matte Gunmetal/Demo Lens", "price": 69.4, "variant_images": ["https://m.media-amazon.com/images/I/51+pfXEZkwL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51SMMJJqehL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51a8NtIuuYL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51Fl1jTyVaL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51NZ2HF3RzL._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/51+pfXEZkwL._AC_SL1500_._AC_SY300.jpg", "description": "Color: Matte Gunmetal/Demo Lens; Size: NO_SIZE", "colors": ["Matte Gunmetal/Demo Lens"], "upc": "", "name": "", "combo_key": "NO_SIZEMatte Gunmetal/Demo Lens"}]}, "remote_url": "https://www.amazon.com/dp/B0FTWMQZV5?th=1&psc=1", "parsing_type": "refresh", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: 'B0FTWMQZV5' - 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 705, in log_product_upload
upsert_product_hash(
File "/opt/working_folder/api/logging_router/api/product_logging.py", line 368, in upsert_product_hash
db.execute(stmt)
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 2256, in _execute_internal
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)
|