refactored guides
This commit is contained in:
parent
ec1caeced3
commit
b421b934c1
|
|
@ -9,28 +9,6 @@ logging.basicConfig(format='[%(levelname)s] %(message)s', level=logging.INFO)
|
|||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def get_additional_establishment_data(section_node, establishment, guide):
|
||||
data = {
|
||||
'restaurant_section_node_id': section_node.id,
|
||||
'guide_id': guide.id,
|
||||
'establishment_id': establishment.id,
|
||||
}
|
||||
if establishment.last_published_review:
|
||||
data.update({'review_id': establishment.last_published_review.id})
|
||||
return data
|
||||
|
||||
|
||||
def get_additional_product_data(section_node, product, guide):
|
||||
data = {
|
||||
'color_wine_section_node_id': section_node.id,
|
||||
'wine_id': product.id,
|
||||
'guide_id': guide.id,
|
||||
}
|
||||
if product.last_published_review:
|
||||
data.update({'review_id': product.last_published_review.id})
|
||||
return data
|
||||
|
||||
|
||||
@shared_task
|
||||
def generate_establishment_guide_elements(guide_id: int, filter_set: dict):
|
||||
"""Generate guide elements."""
|
||||
|
|
@ -38,9 +16,9 @@ def generate_establishment_guide_elements(guide_id: int, filter_set: dict):
|
|||
from establishment.models import Establishment
|
||||
|
||||
guide = Guide.objects.get(id=guide_id)
|
||||
guide.change_state(Guide.BUILDING)
|
||||
queryset_values = Establishment.objects.filter(**filter_set).values()
|
||||
try:
|
||||
guide.change_state(Guide.BUILDING)
|
||||
for instance in queryset_values:
|
||||
populate_establishment_guide(guide_id, instance.get('id'))
|
||||
except Exception as e:
|
||||
|
|
@ -59,8 +37,8 @@ def populate_establishment_guide(guide_id: int, establishment_id: int):
|
|||
from establishment.models import Establishment
|
||||
|
||||
guide = Guide.objects.get(id=guide_id)
|
||||
guide.change_state(Guide.BUILDING)
|
||||
try:
|
||||
guide.change_state(Guide.BUILDING)
|
||||
establishment_qs = Establishment.objects.filter(id=establishment_id)
|
||||
if establishment_qs.exists():
|
||||
establishment = establishment_qs.first()
|
||||
|
|
@ -72,13 +50,17 @@ def populate_establishment_guide(guide_id: int, establishment_id: int):
|
|||
section_node, _ = GuideElement.objects.get_or_create_establishment_section_node(
|
||||
city_node.id,
|
||||
transform_into_section_name(establishment.establishment_type.index_name),
|
||||
guide_id,
|
||||
guide.id,
|
||||
)
|
||||
if section_node:
|
||||
GuideElement.objects.get_or_create_establishment_node(
|
||||
**get_additional_establishment_data(section_node=section_node,
|
||||
establishment=establishment,
|
||||
guide=guide))
|
||||
params = {
|
||||
'restaurant_section_node_id': section_node.id,
|
||||
'guide_id': guide.id,
|
||||
'establishment_id': establishment.id,
|
||||
}
|
||||
if establishment.last_published_review:
|
||||
params.update({'review_id': establishment.last_published_review.id})
|
||||
GuideElement.objects.get_or_create_establishment_node(**params)
|
||||
else:
|
||||
logger.error(
|
||||
f'METHOD_NAME: {generate_establishment_guide_elements.__name__}\n'
|
||||
|
|
@ -108,8 +90,8 @@ def remove_establishment_guide(guide_id: int, establishment_id: int):
|
|||
from establishment.models import Establishment
|
||||
|
||||
guide = Guide.objects.get(id=guide_id)
|
||||
guide.change_state(Guide.REMOVING)
|
||||
try:
|
||||
guide.change_state(Guide.REMOVING)
|
||||
establishment_qs = Establishment.objects.filter(id=establishment_id)
|
||||
if establishment_qs.exists():
|
||||
establishment = establishment_qs.first()
|
||||
|
|
@ -144,9 +126,9 @@ def generate_product_guide_elements(guide_id: int, filter_set: dict):
|
|||
from product.models import Product
|
||||
|
||||
guide = Guide.objects.get(id=guide_id)
|
||||
guide.change_state(Guide.BUILDING)
|
||||
queryset_values = Product.objects.filter(**filter_set).values()
|
||||
try:
|
||||
guide.change_state(Guide.BUILDING)
|
||||
for instance in queryset_values:
|
||||
wine_id = instance.get('id')
|
||||
wine_qs = Product.objects.filter(id=wine_id)
|
||||
|
|
@ -157,26 +139,29 @@ def generate_product_guide_elements(guide_id: int, filter_set: dict):
|
|||
wine_region_node, _ = GuideElement.objects.get_or_create_wine_region_node(
|
||||
root_node.id,
|
||||
wine.wine_region.id,
|
||||
guide_id)
|
||||
guide.id)
|
||||
if wine_region_node:
|
||||
yard_node, _ = GuideElement.objects.get_or_create_yard_node(
|
||||
wine.id,
|
||||
wine_region_node.id,
|
||||
guide_id)
|
||||
guide.id)
|
||||
if yard_node:
|
||||
wine_color_qs = wine.wine_colors
|
||||
if wine_color_qs.exists():
|
||||
wine_color_section, _ = GuideElement.objects.get_or_create_color_wine_section_node(
|
||||
wine_color_qs.first().value,
|
||||
yard_node.id,
|
||||
guide_id
|
||||
guide.id
|
||||
)
|
||||
if wine_color_section:
|
||||
GuideElement.objects.get_or_create_wine_node(
|
||||
**get_additional_product_data(
|
||||
wine_color_section,
|
||||
wine,
|
||||
guide))
|
||||
params = {
|
||||
'color_wine_section_node_id': wine_color_section.id,
|
||||
'wine_id': wine.id,
|
||||
'guide_id': guide.id,
|
||||
}
|
||||
if wine.last_published_review:
|
||||
params.update({'review_id': wine.last_published_review.id})
|
||||
GuideElement.objects.get_or_create_wine_node(**params)
|
||||
else:
|
||||
logger.error(
|
||||
f'METHOD_NAME: {generate_product_guide_elements.__name__}\n'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
"""Development settings."""
|
||||
from .base import *
|
||||
from .amazon_s3 import *
|
||||
from .base import *
|
||||
|
||||
ALLOWED_HOSTS = ['gm.id-east.ru', '95.213.204.126', '0.0.0.0']
|
||||
|
||||
|
|
@ -77,3 +77,33 @@ EMAIL_PORT = 587
|
|||
|
||||
|
||||
MIDDLEWARE.append('utils.middleware.log_db_queries_per_API_request')
|
||||
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False,
|
||||
'filters': {
|
||||
'require_debug_false': {
|
||||
'()': 'django.utils.log.RequireDebugFalse',
|
||||
},
|
||||
'require_debug_true': {
|
||||
'()': 'django.utils.log.RequireDebugTrue',
|
||||
},
|
||||
},
|
||||
'handlers': {
|
||||
'console': {
|
||||
'level': 'DEBUG',
|
||||
'filters': ['require_debug_true'],
|
||||
'class': 'logging.StreamHandler',
|
||||
},
|
||||
'null': {
|
||||
'class': 'logging.NullHandler',
|
||||
},
|
||||
},
|
||||
'loggers': {
|
||||
'django.db.backends': {
|
||||
'handlers': ['console', ],
|
||||
'level': 'ERROR',
|
||||
'propagate': False,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,11 +86,11 @@ LOGGING = {
|
|||
'py.warnings': {
|
||||
'handlers': ['console'],
|
||||
},
|
||||
# 'django.db.backends': {
|
||||
# 'handlers': ['console', ],
|
||||
# 'level': 'DEBUG',
|
||||
# 'propagate': False,
|
||||
# },
|
||||
'django.db.backends': {
|
||||
'handlers': ['console', ],
|
||||
'level': 'DEBUG',
|
||||
'propagate': False,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user