reddit: media details (+ refactoring) #1734
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Primary changes: The
reddit
plugin now understands how to detect links to images & videos hosted by Reddit itself (i.redd.it
andv.redd.it
URLs), and how to map those back to a submission. For images, it's the oldest submission with that link as the URL; for videos, Reddit itself redirects the short URL to a 'canonical' post (should be the first, excluding all crossposts).Secondary changes: Enough with the
praw.Reddit()
setup being duplicated, and enough with constructing a new instance every time the plugin wants to do something. Now, it constructs just one PRAW instance at load time, and stores it in Sopel's memory for reuse.Tertiary changes:
rpost_info()
is now Just Another URL Detector™, like the newly added media link handlers. All of them now pass just the desired submission ID to a newsay_post_info()
function, leaving only the route to getting the desired ID for the triggerable functions.Concerns: Potential conflicts with the changes #1722. We'll figure that out later, if necessary.