1차 완료
This commit is contained in:
parent
82b132f519
commit
6b71884047
21
README.md
21
README.md
@ -1,6 +1,8 @@
|
|||||||
# wp-post-automation
|
# wp-post-automation
|
||||||
워드프레스 포스팅 자동화 프로젝트.
|
2024.10.04 - 테스트 완료. 프로젝트 1차 종료.
|
||||||
make.com을 이용해서 만든 AutoMation Flow를 Python을 이용하여 변환.
|
* 워드프레스 포스팅 자동화 프로젝트.
|
||||||
|
* make.com을 이용해서 만든 AutoMation Flow를 Python을 이용하여 변환.
|
||||||
|
|
||||||
## 기존 Flow
|
## 기존 Flow
|
||||||
* MariaDB에 저장된 최신 참고 url정보를 얻어온다.
|
* MariaDB에 저장된 최신 참고 url정보를 얻어온다.
|
||||||
* HTTP모듈을 이용하여 참고 자료를 가져온다.
|
* HTTP모듈을 이용하여 참고 자료를 가져온다.
|
||||||
@ -22,11 +24,20 @@ make.com을 이용해서 만든 AutoMation Flow를 Python을 이용하여 변환
|
|||||||
* url을 이용해서 파싱하고 텍스트만 추출하는 기능 구현(완료).
|
* url을 이용해서 파싱하고 텍스트만 추출하는 기능 구현(완료).
|
||||||
* OpenAI이용 코드 작성(완료)-비용 절감을 위하여 제목, 이미지 생성 제외.
|
* OpenAI이용 코드 작성(완료)-비용 절감을 위하여 제목, 이미지 생성 제외.
|
||||||
* HTML문서 변환 코드 작성(완료).
|
* HTML문서 변환 코드 작성(완료).
|
||||||
* 워드프레스 등록 플로우 코드 작성(기능 테스트 완료 - 연결 필요).
|
* 워드프레스 등록 플로우 코드 작성(완료).
|
||||||
|
|
||||||
### 코드 리팩토링.
|
### 코드 리팩토링.
|
||||||
* 전체 리팩토링.
|
* 전체 리팩토링(완료).
|
||||||
* 모듈화, 패키지화.
|
* 모듈화, 패키지화(완료).
|
||||||
|
|
||||||
|
## Docker Image Build
|
||||||
|
2024.10.04 업데이트
|
||||||
|
* Dockerfile 추가(완료).
|
||||||
|
|
||||||
|
## Kubernetes manifests
|
||||||
|
2024.10.04 업데이트
|
||||||
|
* 샘플 템플릿 작성(완료)
|
||||||
|
* 쿠버네티스 환경 테스트(완료).
|
||||||
|
|
||||||
## 코드 이슈
|
## 코드 이슈
|
||||||
### 네이버 블로그 크롤링
|
### 네이버 블로그 크롤링
|
||||||
|
16
k8s-manifests/env.yaml
Normal file
16
k8s-manifests/env.yaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: wp-secret
|
||||||
|
namespace: default
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
DB_HOST:
|
||||||
|
DB_USER:
|
||||||
|
DB_PASSWORD:
|
||||||
|
DB_NAME:
|
||||||
|
OPENAI_API_KEY:
|
||||||
|
WP_URL:
|
||||||
|
WP_USER:
|
||||||
|
WP_API_KEY:
|
||||||
|
WP_POST_STYLE: ""
|
61
k8s-manifests/pod.yaml
Normal file
61
k8s-manifests/pod.yaml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: wp-auto-pod
|
||||||
|
namespace: default
|
||||||
|
annotations:
|
||||||
|
sidecar.istio.io/inject: "false"
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: wp-auto-container
|
||||||
|
image: harbor.icurfer.com/py_prj/wp-auto:0.0.1
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: DB_HOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: DB_HOST
|
||||||
|
- name: DB_USER
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: DB_USER
|
||||||
|
- name: DB_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: DB_PASSWORD
|
||||||
|
- name: DB_NAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: DB_NAME
|
||||||
|
- name: OPENAI_API_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: OPENAI_API_KEY
|
||||||
|
- name: WP_URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: WP_URL
|
||||||
|
- name: WP_USER
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: WP_USER
|
||||||
|
- name: WP_API_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: WP_API_KEY
|
||||||
|
- name: WP_POST_STYLE
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: wp-secret
|
||||||
|
key: WP_POST_STYLE
|
||||||
|
restartPolicy: Never
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: harbor-icurfer-private
|
11
main.py
11
main.py
@ -3,28 +3,33 @@ from package import GetConfig, MariaDB, ChangeTextToPost, WordPress
|
|||||||
import markdown
|
import markdown
|
||||||
|
|
||||||
# 2024-10-03 환경 변수 호출
|
# 2024-10-03 환경 변수 호출
|
||||||
print('### Get values from .env')
|
print('### Get values From .env')
|
||||||
config = GetConfig()
|
config = GetConfig()
|
||||||
dict_data = config.get_config_as_dict()
|
dict_data = config.get_config_as_dict()
|
||||||
|
|
||||||
# 2024-10-03 db에서 url정보 호출
|
# 2024-10-03 db에서 url정보 호출
|
||||||
|
print('### Get URL From DB')
|
||||||
db = MariaDB(dict_data)
|
db = MariaDB(dict_data)
|
||||||
url = db.fetch_data_from_mariadb()['url']
|
url = db.fetch_data_from_mariadb()['url']
|
||||||
|
|
||||||
# 2024-10-03 url을 이용해서 text추출
|
# 2024-10-03 url을 이용해서 text추출
|
||||||
|
print('### Get content From URL')
|
||||||
origin_content = pkg.getContents(url)
|
origin_content = pkg.getContents(url)
|
||||||
|
|
||||||
# 2024-10-03 openAI를 이용하여 게시글 스타일 변경
|
# 2024-10-03 openAI를 이용하여 게시글 스타일 변경
|
||||||
|
print('### Convert to Post - openAI')
|
||||||
openai_key = dict_data['openai_api_key']
|
openai_key = dict_data['openai_api_key']
|
||||||
wp_reference_style = dict_data['wp_post_style']
|
wp_reference_style = dict_data['wp_post_style']
|
||||||
|
|
||||||
open_ai = ChangeTextToPost(openai_key)
|
open_ai = ChangeTextToPost(openai_key)
|
||||||
post_article = open_ai.generate_blog_post(origin_content, wp_reference_style)
|
post_article = open_ai.generate_blog_post(origin_content, wp_reference_style)
|
||||||
|
|
||||||
|
print('### Convert to HTML - markdown to html')
|
||||||
# 2024-10-03 Markdown을 HTML로 변환
|
# 2024-10-03 Markdown을 HTML로 변환
|
||||||
html = markdown.markdown(post_article)
|
html = markdown.markdown(post_article)
|
||||||
|
|
||||||
# 2024-10-03 워드프레스 포스팅 임시등록
|
# 2024-10-03 워드프레스 포스팅 임시등록
|
||||||
|
print('### Create post')
|
||||||
wp = WordPress(dict_data)
|
wp = WordPress(dict_data)
|
||||||
rs = wp.create_post(2,html)
|
rs = wp.create_post(2,html)
|
||||||
|
|
||||||
@ -32,7 +37,7 @@ if __name__ == "__main__":
|
|||||||
# print(post_article)
|
# print(post_article)
|
||||||
print("추가 확인을 위한 출력")
|
print("추가 확인을 위한 출력")
|
||||||
if rs.ok:
|
if rs.ok:
|
||||||
print(f"성공 code:{rs.status_code}")
|
print(f"### 성공 code:{rs.status_code}")
|
||||||
else:
|
else:
|
||||||
print(f"실패 code:{rs.status_code} reason:{rs.reason} msg:{rs.text}")
|
print(f"### 실패 code:{rs.status_code} reason:{rs.reason} msg:{rs.text}")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user