| 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 Ax1074 Octagonal Prescription Eyewear Frames", "description": "The Armani Exchange AX1074 eyeglass frames feature a distinctive octagonal silhouette from the brand's innovative Cross Flat Metal collection. This contemporary design showcases universally flattering appeal with full-rim metal construction featuring a distinctive geometric shape, while the metal temples with plastic temple tips provide extra comfort that creates fresh and youthful luxury appeal with confident styling. Available in an array of matte metal finishes including classic black and gunmetal alongside contemporary silver and pale gold options that offer both timeless and modern styling choices. The octagonal shape provides unique geometric proportions while the full-rim metal construction with plastic temple tips ensures exceptional comfort and all-day wearability. Perfect for the modern individual who values innovative design and distinctive style, these frames represent the intersection of contemporary aesthetics and advanced engineering for superior performance. These versatile frames transition effortlessly from professional environments to casual settings and social occasions. These prescription-ready frames are designed to be fitted with your custom prescription lenses for clear vision. Each pair comes with a protective case and cleaning cloth to preserve your frames and maintain their pristine appearance. Armani Exchange eyeglass frames sold by authorized sellers, like Amazon.com, are eligible for all manufacturer warranties and guarantees.\n \n \n \n Origin\n \n Imported\n \n \n \n About this item \nFRAME FEATURES: AX1074 feature a octagonal, 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 \nVISIT THE ARMANI EXCHANGE BRAND SHOP: Click on the Armani Exchange link above the product title to shop the entire Armani Exchange sunglass and eyeglass assortment.\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": "B0FH366CHY", "is_lost": 0, "variants": [{"remote_code": "B0FH2T95TF", "additional_upc": "B0FH2T95TF", "remote_url": "https://www.amazon.com/dp/B0FH2T95TF?th=1&psc=1", "delivery_days": 5, "weight": 60.0, "size": "NO_SIZE", "origin_color": "Matte Black/Demo Lens", "price": 86.61, "variant_images": ["https://m.media-amazon.com/images/I/51kr2W+WGKL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51TcXH7FQBL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51RXixbYVhL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/517QDdyK3OL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/512PAa+z2sL._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/51kr2W+WGKL._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": "B0FH2SKSVY", "additional_upc": "B0FH2SKSVY", "remote_url": "https://www.amazon.com/dp/B0FH2SKSVY?th=1&psc=1", "delivery_days": 5, "weight": "", "size": "NO_SIZE", "origin_color": "Matte Pale Gold/Demo Lens", "price": 69.14, "variant_images": ["https://m.media-amazon.com/images/I/51OLPko7BdL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51wcr1HeaTL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51XYOqq-o6L._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51KG4nYAtLL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51ia07illqL._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/51OLPko7BdL._AC_SL1500_._AC_SY300.jpg", "description": "Color: Matte Pale Gold/Demo Lens; Size: NO_SIZE", "colors": ["Matte Pale Gold/Demo Lens"], "upc": "", "name": "", "combo_key": "NO_SIZEMatte Pale Gold/Demo Lens"}, {"remote_code": "B0FH2VZGZQ", "additional_upc": "B0FH2VZGZQ", "remote_url": "https://www.amazon.com/dp/B0FH2VZGZQ?th=1&psc=1", "delivery_days": 5, "weight": "", "size": "NO_SIZE", "origin_color": "Matte Silver/Demo Lens", "price": 48.82, "variant_images": ["https://m.media-amazon.com/images/I/51hIX3HvdkL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51XOdFrnD8L._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51mqnrhTvHL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/51SYIh+51xL._AC_SL1500_.jpg", "https://m.media-amazon.com/images/I/517ml7ZJOrL._AC_SL1500_.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://m.media-amazon.com/images/I/51hIX3HvdkL._AC_SL1500_._AC_SY300.jpg", "description": "Color: Matte Silver/Demo Lens; Size: NO_SIZE", "colors": ["Matte Silver/Demo Lens"], "upc": "", "name": "", "combo_key": "NO_SIZEMatte Silver/Demo Lens"}]}, "remote_url": "https://www.amazon.com/dp/B0FH366CHY?th=1&psc=1", "parsing_type": "refresh", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: 'B0FH366CHY' - 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)
|