SpotPlay2YouPlay - Converts new additions to a Spotify playlist to a matching Youtube playlist

Overview

SpotPlay2YouPlay

Converts new additions to a Spotify playlist to a matching Youtube playlist, can also be configured to converting whole playlists with the refresh function. Requires 3 youtube/google credentials to operate at full capacity, and needs 1 spotify api

HOW TO USE DETAILED IN STEPS IN THE DIRECTIONS.TXT FILE

I built my first messy but functional Python script that converts a Spotify playlist to a YouTube playlist, while storing the song IDs locally to avoid adding the same songs twice. The default is that every time the program is run, the YouTube playlist is cleared and only the new songs are added, but this can be controlled by calling a function called refresh. You can imagine the uses, and any advice would be greatly appreciated!

As for the workings, here's the breakdown in steps:

  1. It asks the user for a Spotify playlist
  2. The user inputs the "share this playlist" link
  3. The program will fetch all the songs in the playlist and simplify the info to their unique ID, artist names and song name. (The Spotify song object is LOADED with useless info for this application)
  4. The program creates a file called Depot.txt (if it's not already present) and stores in every new unique song ID, checking the Depot file every time to ensure the ID isn't already there to avoid repeated Spotify songs. (The song ID is still unique even if it's found in different playlists)
  5. The known songs get ignored, and the new songs get added to a list variable called 'queue'. (To avoid songs from getting ignored, you can uncomment the refresh() function in the main code page - refresh() just deletes the Depot.txt file every time it starts)
  6. The YouTubeAPI kicks in its first function and starts deleting all the songs on the YouTube playlist using the API functions list and delete, doing this by video ID to save usage points (so you don't DL them twice) but this function can also be removed by just commenting out any instance of the delete_ all_in_playlist() function on the main page and the structural code around them.
  7. With a fresh and empty YouTube playlist, the previously mentioned queue variable filled with the new songs will use the YouTubeAPI to search the first instance of that song using the song title and artists. It will then add that song to the YouTube playlist immediately.
  8. YoutubeAPI's have a ridiculously small daily use limit, which is why it switches between 3 pages of credentials. It has a total capacity of around 200 delete and add operations. When an API reaches its limit, it will catch the server error and swap to another API after removing every song that didn't download from Depot (so that it's considered a new song again) To remove these songs it will use the Song_Removal() function.
  9. If the total capacity of all three of the YouTubeAPI is met, it will remove the unadded songs from Depot for the last time and show the time (in EST) and date that the process can be repeated. (Keep in mind the same playlist can be reused and only the missed songs will be added.
  10. If the total capacity isn't met, then the program will just stop without error and the YouTube playlist will be filled with the playlists' songs. I might've missed small details so be sure to keep looking through the code comments at the top of the pages and throughout to fully grasp the idea
Primeira etapa do processo seletivo para a bolsa de migração de conteúdo de Design de Software.

- Este processo já foi concluído. Obrigado pelo seu interesse! Processo Seletivo para a bolsa de migração de conteúdo de Design de Software Primeirame

Toshi Kurauchi 1 Feb 21, 2022
Python Discord Server Nuker

Untitled Nuker Python Discord Server Nuker Features: Ban Everyone Kick Everyone Rename Everyone Spam To All Channels Delete All Channels Delete All Ro

22 Dec 22, 2022
A python api to get info on covid-19

A python api to get info on covid-19

roof 2 Sep 18, 2022
GTPS Status Bot

Python GTPS Status Bot (BETA) Python GTPS Status Bot Require Python How To Use Download This Source Extract The Zip File Install the requirements (Mod

Lamp 4 Oct 11, 2021
A minimalistic, modern Discord bot for roles and polls using dropdowns

DropBot A minimalistic, modern Discord bot for roles and polls using dropdowns Made by ThatOneCalculator Technologies used Instructions Type /, and na

ModernBots 1 Jun 27, 2022
A userbot made for telegram

𝚃𝙷𝙴 𝙼𝙰𝙵𝙸𝙰𝙱𝙾𝚃 This is a userbot made for telegram. I made this userbot with help of all other userbots available in telegram. All credits go

MafiaBotOP 8 Apr 08, 2022
Please Do Not Throw Sausage Pizza Away - Side Scrolling Up The OSI Stack

Please Do Not Throw Sausage Pizza Away - Side Scrolling Up The OSI Stack

John Capobianco 2 Jan 25, 2022
DeFi wallet on Chia Network.

DeFi wallet on Chia Network.

GobyWallet 21 Aug 12, 2022
Discord Account Generator that will create Account with hCaptcha bypass. Using socks4 proxies

Account-Generator [!] This was made for education. Please use socks4 proxies for nice experiences. [!] Please install these modules - "pip3 install ht

RyanzSantos 10 Feb 23, 2022
arweave-nft-uploader is a Python tool to improve the experience of uploading NFTs to the Arweave storage for use with the Metaplex Candy Machine.

arweave-nft-uploader arweave-nft-uploader is a Python tool to improve the experience of uploading NFTs to the Arweave storage for use with the Metaple

0xEnrico 84 Dec 26, 2022
Balsam Python client API & SDK

balsam No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) This Python package is automatically

Darren Govoni 1 Oct 22, 2021
Zipper-s-Father - A simple telegram bot that takes a list of files sent by the user and returns them zipped

ZIP files telegram bot A simple telegram bot that takes a list of files sent by

Dr.Caduceus 1 Jan 29, 2022
A small Python app to create Notion pages from Jira issues

Jira to Notion This little program will capture a Jira issue and create a corresponding Notion subpage. Mac users can fetch the current issue from the

Dr. Kerem Koseoglu 12 Oct 27, 2022
DonLee Robot

🤖 𝐃𝐎𝐍 𝐋𝐄𝐄 𝐑𝐎𝐁𝐎𝐓 𝐕𝟐 🤖 👋 Hey Muhammed, Iam DonLee RoBoT Make me an admin for your group and channel then connect me.... 🎉 🙂 To build a

Muhammed 27 Dec 01, 2022
Google Sheets Python API v4

pygsheets - Google Spreadsheets Python API v4 A simple, intuitive library for google sheets which gets your work done. Features: Open, create, delete

Nithin Murali 1.4k Jan 08, 2023
Upvotes and karma for Discord: Heart 💗 or Crush 💔 a comment to give points to an user, or Star ⭐ it to add it to the Best Of!

🤖 Reto Reto is a community-oriented Discord bot, featuring a karma system, a way to reward the best comments, leaderboards, and so much more! React t

Erik Bianco Vera 3 May 07, 2022
discord.py bot written in Python.

bakerbot Bakerbot is a discord.py bot written in Python :) Originally made as a learning exercise, now used by friends as a somewhat useful bot and us

8 Dec 04, 2022
A Python wrapper around the Pushbullet API to send different types of push notifications to your phone or/and computer.

pushbullet-python A Python wrapper around the Pushbullet API to send different types of push notifications to your phone or/and computer. Installation

Janu Lingeswaran 1 Jan 14, 2022
Basic-Discord-Response-Bot, in Python

Response bot for Discord. EG: User: Hello! Bot: Hello there! About Very customizable, no credits needed. Edit the bot.py to what you want, basic Pytho

rhys 1 Nov 20, 2021
Telegram to TamTam stickers

Telegram to TamTam stickers @tg_stickers TamTam бот, который конвертирует Telegram стикеры в формат TamTam и помогает загрузить их в TamTam. Все делае

Ivan Buymov 22 Nov 01, 2022