PRAWdittions¶
PRAWdittions is a high-end library wrapper for PRAW that provides several functions that are missing from the main package. The only dependency is PRAW.
prawdditions.patch¶
This submodule contains functions that directly add attributes to PRAW
models. To prevent conflicts with future PRAW additions, the models will not
be modified without a call to patch()
. Furthermore, the additions can
be removed with a call to unpatch()
.
Patched Functions¶
prawdditions.patch.message.message¶
-
prawdditions.patch.message.
message
(self, to: Union[praw.models.reddit.redditor.Redditor, praw.models.reddit.subreddit.Subreddit, str], title: str, body: str, from_sr: Union[praw.models.reddit.subreddit.Subreddit, str, None] = None) → praw.models.reddit.message.Message¶ Abstract function for sending out a message via string.
Note
Adds attribute
message
topraw.Reddit
.Parameters: - to – Destination of the message.
- title – The subject line of the message.
- body – The body of the message.
- from_sr – A Subreddit instance of string to send the message from. By default the message originates from the user.
Returns: An instance of
praw.models.Message
.Example code:
import prawdditions.patch reddit = praw.Reddit(client_id='CLIENT_ID', client_secret="CLIENT_SECRET", password='PASSWORD', user_agent='USERAGENT', username='USERNAME') prawdditions.patch.patch() reddit.message('username','title','body')
prawdditions.patch.update.update¶
-
prawdditions.patch.update.
update
(self, transformation: Callable[str, str], reason: Optional[str] = None) → None¶ Safely update a page based on its current content.
Note
Adds attribute
update
topraw.models.WikiPage
.Parameters: - transformation – A function taking the previous content as its sole parameter and returning the new content.
- reason – (Optional) The reason for the revision.
Example code:
import prawdditions.patch reddit = praw.Reddit(client_id='CLIENT_ID', client_secret="CLIENT_SECRET", password='PASSWORD', user_agent='USERAGENT', username='USERNAME') prawdditions.patch.patch() def transform(content: str) -> str: return content + " test" page = next(iter(reddit.subreddit('test').wiki)) page.update(transform)