1
0
Fork 0
mirror of synced 2024-07-07 23:36:06 +12:00
bulk-downloader-for-reddit/bulkredditdownloader/site_downloaders/self_post.py

39 lines
1.2 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
import logging
2021-02-11 12:10:40 +13:00
from praw.models import Submission
from bulkredditdownloader.resource import Resource
2021-02-07 20:08:24 +13:00
from bulkredditdownloader.site_downloaders.base_downloader import BaseDownloader
logger = logging.getLogger(__name__)
2021-02-07 14:33:19 +13:00
class SelfPost(BaseDownloader):
2021-02-15 18:12:27 +13:00
def __init__(self, post: Submission):
super().__init__(post)
def download(self):
2021-02-11 12:10:40 +13:00
return Resource(self.post, self.post.url, bytes(self.export_to_string()))
2021-02-11 12:10:40 +13:00
def export_to_string(self) -> str:
"""Self posts are formatted here"""
content = ("## ["
2021-02-11 12:10:40 +13:00
+ self.post.fullname
+ "]("
2021-02-11 12:10:40 +13:00
+ self.post.url
+ ")\n"
2021-02-11 12:10:40 +13:00
+ self.post.selftext
+ "\n\n---\n\n"
+ "submitted to [r/"
2021-02-11 12:10:40 +13:00
+ self.post.subreddit.title
+ "](https://www.reddit.com/r/"
2021-02-11 12:10:40 +13:00
+ self.post.subreddit.title
+ ") by [u/"
2021-02-11 12:10:40 +13:00
+ self.post.author.name
+ "](https://www.reddit.com/user/"
2021-02-11 12:10:40 +13:00
+ self.post.author.name
+ ")")
2021-02-11 12:10:40 +13:00
return content