Notion에서 Tistory로 자동 업로드 #6 (notion property 자동 수정)
목표
이번에는 notion table의 상태
property를 확인해서 발행준비 완료
로 되어있는 페이지를 탐색해서 어떤 페이지를 업로드 할 건지 찾아주는 것과 업로드가 완료 되었다면 카테고리를 발행준비 완료
에서 발행완료
로 변경하는 방법을 알아보겠습니다.
업로드 할 페이지 찾기
지난번에 카테고리 id를 찾기 위해 notion-py모듈을 사용한 것처럼 이번에도 같은 방법으로 사용하겠습니다.
이번에는 상태라는 property를 체크해서 발행준비 완료
인 page들을 반환하는 함수를 작성해 보겠습니다.
(이때 한글로 상태라는 property 명은 notion-py에서 자동으로 sangtae라는 이름으로 바뀌네요.)
# 개인 token으로 notion 접속
from notion.client import NotionClient
token_v2 = '<token>'
client = NotionClient(token_v2=token_v2)
def get_pages_readyToPost(table_url):
# get table
cv = client.get_collection_view(table_url)
pages = []
# check every row's status
for row in cv.collection.get_rows():
if row.sangtae == '발행준비 완료':
print(row)
pages.append(row)
return pages
위와 같은 함수를 작성해서 확인을 원하는 table이 있는 notion page의 url(table_url)만 파라미터로 입력하면 상태가 발행준비 완료
인 모든 페이지들을 반환합니다.
업로드 완료 시 상태 변경
위 함수를 사용해서 업로드 할 page객체들을 얻고, 업로드까지 처리 완료했다고 가정하겠습니다. 그럼 업로드 완료된 page들의 상태를 변경해주는 방법은 매우 간단합니다.
상태 property의 값을 바꿔주면 되는데, 원하는 값을 대입해주면 됩니다.
pages = get_pages_readyToPost(table_url)
"""
tistory api를 사용하여 업로드
"""
for page in pages:
page.sangtae = '발행완료'
굳이 업로드 하지 않아도 위의 코드만 실행해보면, 발행준비 완료
였던 페이지들의 상태가 모두 발행완료
로 바뀌는 것을 확인할 수 있습니다.
다음 할 일
- selenium으로 페이지 자동 export 하기
이 게시물은 Notion에서 작성되어, 자동으로 업로드 되었습니다.