A collection of reddit utility scripts organized as a self-hosted web app. Currently the following features are available:
- Search through your saved posts
- Ability to fetch your subreddits
GIF of Search Interface | Looking at Saved Posts | Trying the List Subreddits feature |
- Clone the repository to your local machine
- Make sure Python 3.5+ is installed
- Build a
.whl
(wheel) file - Set up a virtual environment
- Install the
.whl
file - Run the flask app
- Open http://localhost:5000 in browser
Full instructions can be found here
Note: This web app is meant to be self-hosted on something like a Raspberry Pi
This web app is built on Flask + Bootstrap 4 + PRAW
Here are the general instructions:
- Create a virtual environment
- Make changes to code
- Run the flask app
The specific instructions for power shell on Windows:
virtualenv env
./env/Scripts/activate
python -m pip install -e .
$env:FLASK_ENV = "development"
$env:FLASK_APP = "reddit_utils"
flask run
Here are some helpful links that provide more detail:
- https://virtualenv.pypa.io/en/stable/userguide/
- http://flask.pocoo.org/docs/1.0/tutorial/factory/#run-the-application
- http://flask.pocoo.org/docs/1.0/tutorial/install/#install-the-project
Contributions to this project are welcome. If you contribute to the project, your name will appear on the about page.
Helped wanted with the following:
- Change login procedure to use web app procedure instead of the script procedure
- Add HTTPS support
- Loading indicator
- Persist saved posts for faster searching
- Ability to have multiple search terms (underlying code is there but needs GUI)
- Ability to restrict search by subreddit (underlying code is there but needs GUI)
- Ability to search your own submissions
- Ability to search past the 1000 item limit
- Ability to unhide all your posts
- Ability to export your saved posts in various formats
- For really long comments (only show the first few paragraphs or so, collapse the rest)
- Highlight search terms in results (something like this)
I will slowly add features as I need them and I encourage people to do the same
- Add it to the nav bar (file:
templates/nav.htm.j2
) - Create a usage/help modal (file:
templates\modals.htm.j2
) - Create a template file for the feature (create file in:
templates\features
) - Write the backend Python code (put code in:
features
) - Add your entry point function to the init file (file:
__init__.py
)
Please use the Search Saved Posts
and List Subreddits
features as examples
GNU General Public License v3.0
The developer (Roman Kuleshov) of this application (reddit_utils) has no affiliation with reddit inc.