일부수정

This commit is contained in:
R5600U_PC 2024-04-04 22:10:11 +09:00
parent dcf570f2b7
commit 64b4cd5f3d
5 changed files with 49 additions and 9 deletions

View File

@ -4,7 +4,7 @@ a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[('E:\\py\\AutoPercenty\\Lib\\site-packages\\paddleocr', 'paddleocr'), ('E:\\py\\AutoPercenty\\models', 'models'), ('E:\\py\\AutoPercenty\\Lib\\site-packages\\paddle\\libs\\*.dll', 'paddle\\libs'), ('E:\\py\\AutoPercenty\\config.ini', '.')],
datas=[('H:\\py\\AutoPercenty\\Lib\\site-packages\\paddleocr', 'paddleocr'), ('H:\\py\\AutoPercenty\\models', 'models'), ('H:\\py\\AutoPercenty\\Lib\\site-packages\\paddle\\libs\\*.dll', 'paddle\\libs'), ('H:\\py\\AutoPercenty\\config.ini', '.')],
hiddenimports=['shapely', 'pyclipper', 'imghdr', 'skimage', 'skimage.morphology._skeletonize', 'imgaug', 'scipy.io', 'lmdb', 'tqdm', 'paddlepaddle.core'],
hookspath=[],
hooksconfig={},

View File

@ -51,15 +51,19 @@ class ImageDescriptionGenerator:
상품가격5 : {product_info.naver_products[4]["price"]}
[질문]
1. 상품이 무엇인지, 어떤 용도로 사용하는지 설명해줘.
1. 상품이 무엇인지, 어떤 용도로 사용하는지 자세하게 설명해줘.
2. 상품의 배송비 산정을 위해 무게를 kg으로 알려줘.
3. 상품의 강점, 특징과 함께 이상품을 사야하는지, 다른제품들과의 차별점은 무엇인지, 기존제품의 어떠한 단점을 개선했는지를 중심으로
홍보문구를 상품이미지에 맞게 4~5 정도 만들어줘."
4. 위의 모든정보를 바탕으로 한글 35 이상 ~ 45 이하의 길이를 가지는 상품명을 2~3 만들어줘.
4-1. 권장 사항 : 상품명의 예시는 경쟁사의 상품명을 참고하면 . 키워드나 용도, 재질, 용량, 형식등의 단어를 나열해. 타오바오 상품명과 옵션사항들을 활용해서 상품의 특징을 넣어서 만들어줘
4-2. 제한 사항 : 형용사 금지, 단어의 중복된 사용 금지, 쉼표나 별표를 포함한 모든 특수문자는 사용할 없어.
3. 상품의 강점, 특징과 함께 이상품을 사야하는지, 다른제품들과의 차별점은 무엇인지, 기존제품의 어떠한 단점을 개선했는지를 중심으로 홍보문구를 상품이미지에 맞게 자세하고 친절하게 만들어줘."
4. 상품의 사용상 주의점을 자세히 알려줘
5. 상품의 도움이 될만한 다른 추가정보를 자세하게 알려줘
6. 위의 모든 정보를 바탕으로 상품을 설명한 상품명을 만들어줘 1 만들어줘.
6-1. 상품명 제작 권장 사항 1: 키워드, 용도, 재질, 용량, 형식, 모양,특징등의 단어를 콤마를 제외하고 띄어쓰기로 나열해(용량과 스펙등은 뒤쪽으로 배치).
6-2. 상품명 제작 권장 사항 2: 타오바오 상품명과 옵션이름들에서 상품의 특징을 가져와서 상품명에 사용해야해.
6-3. 상품명 제작 권장 사항 3 : 경쟁사의 상품명들을 띄어쓰기를 중심으로 단어를 분리하고, 중복된 단어를 모두 제거한 나머지 단어들 4개를 가져와서 상품명 제작에 사용해줘.
6-4. 반드시 준시해야 상품명 제한 사항 : 형용사 사용 금지, 중복단어 절대 사용 금지, 쉼표나 별표를 포함한 모든 특수문자 금지.
6-5. 상품명 형식 : 한글의 글자수로 35 이상 되어야 .
'''

View File

@ -1,6 +1,7 @@
from datetime import datetime
# 로거 인스턴스 가져오기
import logging
from edit.product_info import ProductInfo
logger = logging.getLogger('default_logger')
@ -173,3 +174,36 @@ class AutoPercentyProductsDB:
print(f"상품 ID {product_id}의 모든 처리 단계가 완료되었으며, 최종 처리가 완료되었습니다.")
else:
print(f"상품 ID {product_id}에 대한 정보를 찾을 수 없습니다.")
def get_product_info_by_id(self, product_id):
"""
데이터베이스에서 특정 상품 ID에 해당하는 상품 정보를 조회합니다.
조회된 정보를 바탕으로 ProductInfo 인스턴스를 생성하거나 업데이트합니다.
:param product_id: 조회할 상품의 ID
:return: ProductInfo 인스턴스 또는 조회 실패 None
"""
try:
# MongoDB에서 상품 ID에 해당하는 레코드 조회
product_data = self.collection.find_one({"product_id": product_id})
if product_data and 'product_info' in product_data:
# 조회된 데이터를 바탕으로 ProductInfo 인스턴스 생성
product_info_data = product_data['product_info']
product_info = ProductInfo()
# 데이터베이스에서 조회한 정보로 ProductInfo 인스턴스 속성 설정
for key, value in product_info_data.items():
if hasattr(product_info, key):
setattr(product_info, key, value)
# 로그 기록: 상품 정보 로드 성공
logging.debug(f"ProductInfo loaded successfully for product ID {product_id}.")
return product_info
else:
# 로그 기록: 상품 정보 없음
logging.warning(f"No product info found for product ID {product_id}.")
return None
except Exception as e:
# 예외 발생 시 로그 기록
logging.error(f"Error loading product info for product ID {product_id}: {e}")
return None

View File

@ -4,7 +4,7 @@ a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[('D:\\py\\AutoPercenty\\Lib\\site-packages\\paddleocr', 'paddleocr'), ('D:\\py\\AutoPercenty\\models', 'models'), ('D:\\py\\AutoPercenty\\Lib\\site-packages\\paddle\\libs\\*.dll', 'paddle\\libs'), ('D:\\py\\AutoPercenty\\config.ini', '.')],
datas=[('H:\\py\\AutoPercenty\\Lib\\site-packages\\paddleocr', 'paddleocr'), ('H:\\py\\AutoPercenty\\models', 'models'), ('H:\\py\\AutoPercenty\\Lib\\site-packages\\paddle\\libs\\*.dll', 'paddle\\libs'), ('H:\\py\\AutoPercenty\\config.ini', '.')],
hiddenimports=['shapely', 'pyclipper', 'imghdr', 'skimage', 'skimage.morphology._skeletonize', 'imgaug', 'scipy.io', 'lmdb', 'tqdm', 'paddlepaddle.core'],
hookspath=[],
hooksconfig={},

View File

@ -196,6 +196,8 @@ def modify_products(driver, gemini, mongo_config, login_info, set_num_modify):
# incomplete_steps가 리스트 타입이고, 길이가 6 미만인 경우에만 미완성된 단계들에 대해 처리합니다.
logger.debug(f"총 [{len(incomplete_steps)}]개의 미완성 목록을 발견")
logger.debug(f"미완성 스텝 목록 : {incomplete_steps}")
product_infos[i-1] = autoPercentyProductsDB.get_product_info_by_id(product_id)
logger.debug("기존 product_info를 가져옵니다.")
# 완료되지 않은 단계에 해당하는 작업을 수행합니다.
click_to_product_title_for_modify_xpath = f"//div[{i}]/li/div/div/div[2]/div/div/div/div"
click_element(driver, 'XPATH', click_to_product_title_for_modify_xpath, 10, 'js')