Simple web app that sorts youtube watchlater by duration and assigned priority.
Report Bug
·
Request Feature
Table of Contents
This started because I wanted to sort my watch later list on youtube by duration with some key execepts to priority, some videos being in a series, some creators release order mattering, and one-off videos being follow up to longer videos. After I accomplish this goal and refactored the code a bit, I decided to keep enhancing the project. There are lots of little things I would like to add to make this a poweruser tool. However, unless something changes with the Youtube API quota limit, I doubt very many people will able to use this project in it's entirety. I would consider this project in its infancy still, but others are welcome to fork or make suggestions for changes.
- python
- Download the latest version
- pip
- Download and follow documentation
- Make sure pip is up to date with the follow command:
pip install --upgrade pip
- Client_secret.json file
- Go to Google's Cloud Console
- Make a project and make sure youtube's v3 api is enabled.
- Create OAuth 2.0 Client IDS under APIs & Services > Credentials.
- MariaDB Database
- Please see schema under images.
- Clone the repo
git clone https://github.com/LukasArmstrong/Youtube-Playlist-Organizer.git
- Install required modules
pip install -r requirements.txt
- Place client_secret file in the directory
- Update config.yaml
- Start webserver
python3 YoutubeWebServer.py
Admitedly, this where most of the work needs to be done. Currently, to run the sorting algorithm, you go to go to:
-
http://<YOUR_HOST_IP>/sort
However before the first sort, you'll need to get a token. This is done by:
-
http://<YOUR_HOST_IP>/renew
- Add Getting Started Section to README
- Add usage section to README
- Proper logging support
- Create frontend
- Login with Oauth
- button for sorting
- GUI to add creator/keywords
- GUI to delete creator/keywords
- GUI to set/update creator/keyword priority
- Auto add videos to watchlater queue. Hopefully in correct position
- Tool to scrape youtube subscriptions
- Smarter use of Quota limit data
- Track upload time to predict when creator videos should release
- Scrape youtube channels to collect data on publish times
- Look into token renewal process. See if automation can be preformed
- Make youtube play update function for efficient
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GPL License. See LICENSE.txt for more information.
Lukas Armstrong - PlaylistPro@LukasArmstrong.io
Project Link: https://github.com/LukasArmstrong/PlaylistPro