Skip to content

Commit 8f65deb

Browse files
authored
Add schedule draft and unschedule draft (#6)
1 parent 2c8e9cd commit 8f65deb

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

substack/api.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
from datetime import datetime
23

34
import requests
45

@@ -195,6 +196,37 @@ def publish_draft(
195196
)
196197
return Api._handle_response(response=response)
197198

199+
def schedule_draft(self, draft, draft_datetime: datetime) -> dict:
200+
"""
201+
202+
Args:
203+
draft: draft id
204+
draft_datetime: datetime to schedule the draft
205+
206+
Returns:
207+
208+
"""
209+
response = self._session.post(
210+
f"{self.publication_url}/drafts/{draft}/schedule",
211+
json={"post_date": draft_datetime.isoformat()}
212+
)
213+
return Api._handle_response(response=response)
214+
215+
def unschedule_draft(self, draft) -> dict:
216+
"""
217+
218+
Args:
219+
draft: draft id
220+
221+
Returns:
222+
223+
"""
224+
response = self._session.post(
225+
f"{self.publication_url}/drafts/{draft}/schedule",
226+
json={"post_date": None}
227+
)
228+
return Api._handle_response(response=response)
229+
198230
def get_image(self, image):
199231
response = self._session.post(
200232
f"{self.publication_url}/image",

0 commit comments

Comments
 (0)