파일 업로드 시 mattermost로 알리는 부분에서 이미지 파일과 url을 함께 전송하도록 수정.
This commit is contained in:
@ -2,8 +2,10 @@
|
|||||||
# 필수 설정 항목 (반드시 작성해야 함)
|
# 필수 설정 항목 (반드시 작성해야 함)
|
||||||
# =====================================
|
# =====================================
|
||||||
|
|
||||||
|
# 사이트 기본 URL
|
||||||
|
URL=https://example.com
|
||||||
# 게시판 설정
|
# 게시판 설정
|
||||||
BOARD_ID=news
|
BOARD_ID=게시판이름
|
||||||
BOARD_CA_NAME=카테고리명
|
BOARD_CA_NAME=카테고리명
|
||||||
BOARD_CONTENT=글 내용
|
BOARD_CONTENT=글 내용
|
||||||
BOARD_MB_ID=user_id
|
BOARD_MB_ID=user_id
|
||||||
|
|||||||
@ -178,7 +178,7 @@ def file_upload(filename, bf_file, msg_sender=None):
|
|||||||
# ---------------------------
|
# ---------------------------
|
||||||
# 게시글 작성 함수
|
# 게시글 작성 함수
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
def write_board(board, subject, content, mb_id, nickname, ca_name=None, file_list=None, msg_sender=None):
|
def write_board(board, subject, content, mb_id, nickname, ca_name=None, file_list=None, msg_sender=None, url=None):
|
||||||
"""
|
"""
|
||||||
그누보드 게시글 및 첨부파일 등록
|
그누보드 게시글 및 첨부파일 등록
|
||||||
|
|
||||||
@ -191,9 +191,10 @@ def write_board(board, subject, content, mb_id, nickname, ca_name=None, file_lis
|
|||||||
ca_name: 카테고리 이름 (선택사항)
|
ca_name: 카테고리 이름 (선택사항)
|
||||||
file_list: 첨부파일 경로 리스트 (선택사항)
|
file_list: 첨부파일 경로 리스트 (선택사항)
|
||||||
msg_sender: MessageSender 인스턴스
|
msg_sender: MessageSender 인스턴스
|
||||||
|
url: 게시판 URL (선택사항)
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
tuple: (성공여부, 에러메시지)
|
tuple: (성공여부, 에러메시지, wr_id)
|
||||||
"""
|
"""
|
||||||
conn = None
|
conn = None
|
||||||
try:
|
try:
|
||||||
@ -289,10 +290,21 @@ def write_board(board, subject, content, mb_id, nickname, ca_name=None, file_lis
|
|||||||
f"📝 제목: {subject}\n"\
|
f"📝 제목: {subject}\n"\
|
||||||
f"📎 첨부파일: {file_count}개"
|
f"📎 첨부파일: {file_count}개"
|
||||||
|
|
||||||
|
# 캡처파일 정보 추가 (file_list에 2개 이상의 파일이 있을 경우)
|
||||||
|
if file_list and len(file_list) > 1 and os.path.isfile(file_list[1]):
|
||||||
|
capture_filename = os.path.basename(file_list[1])
|
||||||
|
capture_size = os.path.getsize(file_list[1]) / 1024 # KB 단위
|
||||||
|
success_msg += f"\n🖼️ 캡처파일: `{capture_filename}` ({capture_size:.1f}KB)"
|
||||||
|
|
||||||
|
# 게시글 링크 추가
|
||||||
|
if url and board:
|
||||||
|
post_url = f"{url.rstrip('/')}/{board}/{wr_id}"
|
||||||
|
success_msg += f"\n🔗 게시글 링크: {post_url}"
|
||||||
|
|
||||||
if msg_sender:
|
if msg_sender:
|
||||||
msg_sender.send(success_msg, platforms=['mattermost'])
|
msg_sender.send(success_msg, platforms=['mattermost'])
|
||||||
|
|
||||||
return True, None
|
return True, None, wr_id
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if conn:
|
if conn:
|
||||||
@ -314,7 +326,7 @@ def write_board(board, subject, content, mb_id, nickname, ca_name=None, file_lis
|
|||||||
if msg_sender:
|
if msg_sender:
|
||||||
msg_sender.send(error_msg, platforms=['mattermost'])
|
msg_sender.send(error_msg, platforms=['mattermost'])
|
||||||
|
|
||||||
return False, error_msg
|
return False, error_msg, None
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
if conn:
|
if conn:
|
||||||
@ -335,10 +347,11 @@ def main():
|
|||||||
logger.warning("Mattermost 알림이 비활성화됩니다")
|
logger.warning("Mattermost 알림이 비활성화됩니다")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# 무료입장 조건에 대해서만 안내함.
|
# .env의 BOARD_CONTENT 사용 (또는 기본값 설정)
|
||||||
|
if not MAIN.get("content"):
|
||||||
MAIN["content"] = """
|
MAIN["content"] = """
|
||||||
<p>Rainy Day 이벤트 적용안내</p>
|
<p>Rainy Day 이벤트 적용안내</p>
|
||||||
<p><b>10:00 ~ 22:00까지의 예보를 합산하며, ~1mm인 경우 0.5mm로 계산합니다.</b></p>
|
<p><b>10:00 ~ 21:00까지의 예보를 합산하며, ~1mm인 경우 0.5mm로 계산합니다.</b></p>
|
||||||
<p>레이니데이 이벤트 정보 확인</p>
|
<p>레이니데이 이벤트 정보 확인</p>
|
||||||
<p><a href="https://firstgarden.co.kr/news/60">이벤트 정보 보기</a></p>
|
<p><a href="https://firstgarden.co.kr/news/60">이벤트 정보 보기</a></p>
|
||||||
"""
|
"""
|
||||||
@ -365,8 +378,7 @@ def main():
|
|||||||
|
|
||||||
file_list = [MAIN['file1'], MAIN['file2']]
|
file_list = [MAIN['file1'], MAIN['file2']]
|
||||||
|
|
||||||
# 게시글 작성
|
# 게시글 작성, wr_id = write_board(
|
||||||
success, error = write_board(
|
|
||||||
board=MAIN['board'],
|
board=MAIN['board'],
|
||||||
subject=MAIN['subject'],
|
subject=MAIN['subject'],
|
||||||
content=MAIN['content'],
|
content=MAIN['content'],
|
||||||
@ -374,6 +386,8 @@ def main():
|
|||||||
nickname=MAIN['nickname'],
|
nickname=MAIN['nickname'],
|
||||||
ca_name=MAIN['ca_name'],
|
ca_name=MAIN['ca_name'],
|
||||||
file_list=file_list,
|
file_list=file_list,
|
||||||
|
msg_sender=msg_sender,
|
||||||
|
url=MAIN.get('url')
|
||||||
msg_sender=msg_sender
|
msg_sender=msg_sender
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user