Features: 1) Import gzip, BytesIO, datetime, and ContentFile at the top level for consolidation and reuse;

Fixes: 1) Remove redundant in-function imports for `gzip`, `BytesIO`, `datetime`, and `ContentFile`;

Extra: 1) Minor reorganization to improve readability and adhere to import best practices.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-10-15 16:21:35 +03:00
parent d355045755
commit 3b1d20ff14

View file

@ -1,11 +1,15 @@
import gzip
import json import json
from contextlib import suppress from contextlib import suppress
from datetime import datetime
from decimal import Decimal from decimal import Decimal
from io import BytesIO
from math import ceil, log10 from math import ceil, log10
from typing import Any from typing import Any
from constance import config from constance import config
from django.conf import settings from django.conf import settings
from django.core.files.base import ContentFile
from django.db import IntegrityError, transaction from django.db import IntegrityError, transaction
from django.db.models import QuerySet from django.db.models import QuerySet
@ -100,11 +104,6 @@ class AbstractVendor:
def save_response(self, data: dict[Any, Any] | list[Any]) -> None: def save_response(self, data: dict[Any, Any] | list[Any]) -> None:
with suppress(Exception): with suppress(Exception):
if settings.DEBUG or config.SAVE_VENDORS_RESPONSES: if settings.DEBUG or config.SAVE_VENDORS_RESPONSES:
import gzip
from io import BytesIO
from django.core.files.base import ContentFile
from datetime import datetime
vendor_instance = self.get_vendor_instance() vendor_instance = self.get_vendor_instance()
json_data = json.dumps(data, indent=2, ensure_ascii=False, default=str) json_data = json.dumps(data, indent=2, ensure_ascii=False, default=str)