cleaning product description from html

This commit is contained in:
Sam
2021-02-25 12:59:23 +00:00
parent 0faaacc415
commit 1af79dc801
2 changed files with 11 additions and 9 deletions

View File

@@ -19,4 +19,6 @@ woocommerce==2.1.1
django-anymail[amazon_ses]==8.2 django-anymail[amazon_ses]==8.2
boto3==1.17.11 boto3==1.17.11
django-storages==1.11.1 django-storages==1.11.1
Faker==6.4.1 Faker==6.4.1
beautifulsoup4==4.9.3
lxml==4.6.2

View File

@@ -15,6 +15,8 @@ import requests
from PIL import Image from PIL import Image
from django.core.files import File from django.core.files import File
from bs4 import BeautifulSoup
from companies.models import Company from companies.models import Company
from products.models import Product from products.models import Product
from products.serializers import ProductSerializer from products.serializers import ProductSerializer
@@ -52,15 +54,13 @@ def create_imported_product(info, company, history, user):
'company':company.id, 'company':company.id,
'creator': user.id if user is not None else None, 'creator': user.id if user is not None else None,
'history': history.id, 'history': history.id,
'url': info['permalink'], 'url': info.get('permalink'),
'stock': info['stock_quantity'], 'stock': info.get('stock_quantity'),
'name': info.get('name'),
'description': BeautifulSoup(info.get('description', ''), "lxml").text,
'sku': info.get('sku'),
'price': info.get('price'),
} }
# parse the product info
for key in info:
if key in PRODUCT_FIELDS:
instance_data[key] = info[key]
# remove unwanted fields
instance_data.pop('id')
# alternative method # alternative method
serializer = ProductSerializer(data=instance_data) serializer = ProductSerializer(data=instance_data)