노션 일정관리 자동화 프로젝트 (8. 테스트 코드 구현)
·
Notion/Notion 일정관리 자동화
테스트 코드 구현 개요테스트 코드가 구현되는 부분을 코드 구현에 붙여서 쓸까 했는데test_runner.py 코드를 짤때는 gpt의 도움을 많이 받아서 허허... 내가 이해하지 못하는 부분이 많다복습 한번 하자는 생각으로 새로운 글을 쓰게됐다. 가봅시다! launch.jsonlaunch.json에서 test_runner.py를 등록했던 것을 기억하는가? (4. 프로젝트 사전 설정 파트이다.)그때 등록했던 test_runner.py를 구현해보자 test_runner.pyimport osimport importlibfrom datetime import datetime, timedeltaimport pytzdef set_today_env(test_date): os.environ["TODAY_FOR_TE..
노션 일정관리 자동화 프로젝트 (7. github actions)
·
Notion/Notion 일정관리 자동화
들어가기 전에...코드가 정상적으로 구현됐다면 main.py를 몇번 돌려봤을때 성공적으로 일정들이 생성되고 이전 일정이 관리됐을 것이다.코드 짜는건 끝났지만 이걸 사람이 하루에 한번씩 직접 돌려줄 수는 없으니 github actions로 자동화를 시켜보자. github actions 사용법프로젝트를 git에 올릴때 최상위 폴더아래에 .github/workflows/~~~~.yml로 파일을 생성하고 파일 내용을 다음과 같이 설정하면 name과 동일한 workflow가 생성된다.name: Run Notion Automation Daily at 00:05 KSTon: schedule: - cron: "20 15 * * *" # KST 00:05 (UTC 15:20) # - cron: '*/5 *..
노션 일정관리 자동화 프로젝트 (6. 코드 구현 (계획 생성 및 상태 변경))
·
Notion/Notion 일정관리 자동화
코드 구현 2 개요1일 1포스팅으로 빠르게 끝내려고 했는데 할일이 워낙 많아서 실패! 😋늦어진만큼 더 빠르게 진행해보도록 하자 plan_generator.py# 캘린더 계획 생성 및 상태 갱신 로직을 포함하는 모듈import timefrom utils.logger import write_log # 로그 작성을 위한 유틸리티 함수from .repeat_daily import handle_daily_repeatfrom .repeat_weekly import handle_weekly_repeatfrom .repeat_specific_days import handle_specific_day_repeatfrom .repeat_none import handle_no_repeatfrom .status_updat..
노션 일정관리 자동화 프로젝트 (5. 코드 구현 (환경변수 세팅 및 데이터 추출))
·
Notion/Notion 일정관리 자동화
코드 구현 개요드디어 가장 재미있는 코드 구현 파트!세부적인건 기획에서 다 짜뒀으니 바로 구현해보자main.py# 가상환경 생성 명령어 : python -m venv 가상환경이름# 가상환경 선택방법 : activate 후 ctrl + shift + p -> Python: Select Interpreter -> 가상환경 선택# requirements.txt 생성 명령어 : pip freeze > requirements.txt# requirements.txt 설치 명령어 : pip install -r requirements.txtfrom dotenv import load_dotenvfrom notion_client import Clientimport osfrom utils.env_loader import l..
노션 일정관리 자동화 프로젝트 (4. 프로젝트 사전 설정)
·
Notion/Notion 일정관리 자동화
프로젝트 구조 개요원래는 코드 구현을 설명하려고 했는데... 프로젝트 구조에서 이래저래 설명하다보니 글 하나가 뚝딱 나와버렸다. 코드야 기획 단계에서 틀을 잡았으니 그대로 따라 만들기만 하면 돼서 아마 크게 어렵지 않을 것이다ㅎㅎ아무튼 코드를 구현하기 전 사전 세팅을 진행해보자.프로젝트 구조처음 시작할때는 사실상 5갠가밖에 파일이 없었는데 하나보니 점점 늘어났다... (gpt한테 리팩토링을 부탁하니 쭈우우우욱 늘어났다.)정리를 해보자면NOTION_AUTOMATION/ ├── .github/ │ └── workflows/ │ └── notion.yml # GitHub Actions 워크플로우 설정 파일 ├── .vscode/ │ ├── launch.json ..
노션 일정관리 자동화 프로젝트 (3. Notion API 발급 및 사용법)
·
Notion/Notion 일정관리 자동화
Notion API 발급받는법Notion API를 사용하려면 먼저 API key를 발급받아야 한다.Notion API 발급 Integration 생성나는 API를 이미 발급받았기 때문에 하단에 2개의 API가 보이지만일반적으로 View my integrations에 처음 들어가면 아무것도 없을 것이다.API key를 발급받기 위해 New Integration을 클릭한다.새로운 Integration을 생성하는 창에서이름 지정사용할 워크스페이스와 동일한 곳에 생성Type: Internal로고 이미지는 취향껏Integration을 생성해주면 된다.그럼 다음과 같이 Integration이 생성되는데 여기서 다른건 볼 필요없고Internal Integration Secret만 복사해서 사용하면 된다. (API k..
노션 일정관리 자동화 프로젝트 (2. UI)
·
Notion/Notion 일정관리 자동화
UI 설계 개요꾸미는건 커녕 뭐 하나 색칠하는 것도 어려워하는 나에게노션의 텅텅 빈 화면은 절망 그 자체였다... 그래도 사람이 맘만 먹으면 또 못할건 없지 않겠는가열심히 머리를 박아가며 노력한 끝에!! 아래처럼 나름 그럴듯한 페이지를 만들 수 있었다 처음에는 어떻게 꾸며야할지 몰라 다른 분들의 양식을 보고 따라하려고 노력했다.노션 활용하기 - 위젯과 기본 블럭 활용 노션 활용하기 - 위젯과 기본 블럭 활용노션 | 위젯 | 대시보드 꾸미기velog.io처음 시작할때 이 분의 글이 많은 도움이 되었다. 세상에 고수는 많더라 🤓 감사합니다 감사합니다ㅎㅎㅎ 😁사실상 저 글에 대부분 설명되어있어서... 따로 설명할만한건 DataBase View나 버튼 정도밖에 없을 것 같다. 블록 구성방법버튼 기능은 직..
노션 일정관리 자동화 프로젝트 (1. 기획)
·
Notion/Notion 일정관리 자동화
완성본 미리보기 "> 개요요즘 노션으로 이것저것 하는것에 재미들렸다.제텔카스텐 필기도 해보고있고... 코넬 노트 필기법도 써보고있고...이런저런 시도를 해보던도중 노션의 캘린더와 데이터베이스가 눈에 들어왔다. 매주 n회 반복하는 루틴, 매일 반복하는 루틴, 일회성 계획... 이런걸 종합하면 꽤 괜찮은 자동화 계획표가 될 것 같았다.그런데 알아보니 노션 캘린더가 존재하기에 혹시? 이미 존재하는 기능을 구현하는건 아닌가 싶었는데...📅 노션 캘린더 지원 기능 기능지원 여부비고일정 반복✅ (날짜 기준 반복만 가능)매일/매주/매월 반복만 가능. “n회” 반복 개념 없음상태 변경 자동화❌수동으로 상태를 바꿔야 함일정 자동 이동❌완료 여부와 상관없이 날짜 고정반복 주기 + 횟수 설정❌기본 제공 없음반복 실패 ..