forked from ckh08045/AutoPercenty
일부수정
This commit is contained in:
parent
dcf570f2b7
commit
64b4cd5f3d
|
|
@ -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={},
|
||||
|
|
|
|||
18
ai/gemini.py
18
ai/gemini.py
|
|
@ -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자 이상 되어야 해.
|
||||
|
||||
'''
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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={},
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
Loading…
Reference in New Issue