Beispiel #1
0
def add_songs():
    # get links to genius lyrics searches from browser history
    links = get_genius_lookups()
    uris = []
    for link in links:
        # extract song title and artist. get uri
        info = scrape_song_info(link)
        uri = get_spotify_uri(info[0], info[1])
        if uri:
            uris.append(uri)

    # create a new playlist
    playlist_id = create_playlist()

    # add all songs into new playlist
    request_data = json.dumps(uris)
    query = "https://api.spotify.com/v1/playlists/{}/tracks".format(playlist_id)
    response = requests.post(
        query,
        data=request_data,
        headers={
            "Content-Type": "application/json",
            "Authorization": "Bearer {}".format(spotify_token)
        }
    )

    response_json = response.json()
    return response_json
Beispiel #2
0
def main():

    if FLAGS.local_wl:
        # export or print Watch Later playlist from local HTML file 
        return save_data(use_local_file(FLAGS=FLAGS))
    
    if FLAGS.move:
        if FLAGS.move.endswith(".csv"):
            df = pd.read_csv(FLAGS.move)
            urls = df["URL"].str.split("=").str[1]

            print("\nAUTHORIZE DESTINATION ACCOUNT:")
            destination = Playlist(playlist_id=FLAGS.to, youtube=build_youtube(auth=True))
            
            # add videos to destination playlist
            return destination.add_videos(urls)
        else:
            print("\nAUTHORIZE ORIGIN ACCOUNT:")
            origin = Playlist(playlist_id=FLAGS.move, youtube=build_youtube(auth=True))
            origin.fetch_videos()

            print("\nAUTHORIZE DESTINATION ACCOUNT:")
            destination = Playlist(playlist_id=FLAGS.to, youtube=build_youtube(auth=True))

            # add videos to destination playlist 
            return destination.add_videos(origin.get_video_ids())

    if FLAGS.public:
        # Build using only API key - no user authentication
        youtube = build_youtube(auth=False)
    else:
        # Get credentials and set up API
        youtube = build_youtube(auth=True)

    if FLAGS.create_playlist:
        # create new playlist 
        create_playlist(youtube, FLAGS.create_playlist, FLAGS.description)

    if FLAGS.export_videos:
        # get data on each video in playlist
        exp_playlist = Playlist(playlist_id=FLAGS.export_videos, youtube=youtube)
        save_data(data=exp_playlist.export_videos())
Beispiel #3
0
def index():
    playlist_url = create_playlist("CD1025")

    return """
    <html>
    <head>
    <title>Radio2Spotify</title>
    <script>
    function changeStation(){
    xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function()
      {
          if (xmlhttp.readyState == 4) {
              document.getElementById("playlist").src=xmlhttp.responseText;
          }

      }
    var myselect = document.getElementById("selectOpt");
    var station = myselect.options[myselect.selectedIndex].value;
    
    xmlhttp.open("GET", station, true);
    xmlhttp.send();
  }
  
    </script>
    </head>
    
    <body>
    <div>
    <h2 id='title'> Radio2Spotify </h2>
    Station: <select onchange="changeStation()" id="selectOpt">
  <option value="CD1025">CD1025</option>
  <option value="WXRT">WXRT</option>
</select>
<br>
<iframe src="%s" width="300" height="380" frameborder="0" allowtransparency="true" id="playlist"></iframe>
</div>

 
 <div class ='description'>
        This app scrapes the latest songs played on your favorite radio station
        and creates a Spotify playlist from them. This is meant for radio stations
        that do not have online streaming available. The code for this app can 
        be found on <a href="https://github.com/andland/radio2spotify">Github</a>.
</div>
</body>
 </html>
 """ % playlist_url
Beispiel #4
0
def index():
    playlist_url = create_playlist("CD1025")
     
    return """
    <html>
    <head>
    <title>Radio2Spotify</title>
    <script>
    function changeStation(){
    xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function()
      {
          if (xmlhttp.readyState == 4) {
              document.getElementById("playlist").src=xmlhttp.responseText;
          }

      }
    var myselect = document.getElementById("selectOpt");
    var station = myselect.options[myselect.selectedIndex].value;
    
    xmlhttp.open("GET", station, true);
    xmlhttp.send();
  }
  
    </script>
    </head>
    
    <body>
    <div>
    <h2 id='title'> Radio2Spotify </h2>
    Station: <select onchange="changeStation()" id="selectOpt">
  <option value="CD1025">CD1025</option>
  <option value="WXRT">WXRT</option>
</select>
<br>
<iframe src="%s" width="300" height="380" frameborder="0" allowtransparency="true" id="playlist"></iframe>
</div>

 
 <div class ='description'>
        This app scrapes the latest songs played on your favorite radio station
        and creates a Spotify playlist from them. This is meant for radio stations
        that do not have online streaming available. The code for this app can 
        be found on <a href="https://github.com/andland/radio2spotify">Github</a>.
</div>
</body>
 </html>
 """%playlist_url
Beispiel #5
0
def upload_folder():
    print(banner)
    directory, playlist_id = parse_playlist_and_directory()
    video_dict = create_video_dict(directory)
    check_user_want_to_continue(directory, video_dict)
    video_dict = check_user_want_to_filter_videos(video_dict)

    if playlist_id is None:
        # créer une playlist depuis le dossier courant
        playlist_id = create_playlist(directory)
    else:
        print("using provided playlist")
    check_playlist_valid(playlist_id)

    # upload toutes les vidéos du folder et récupérer leurs id
    uploaded_video_ids, _ = upload_all_videos(directory, video_dict)

    # ajouter les vidéos à la playlist
    insert_videos_playlist(uploaded_video_ids, playlist_id)
Beispiel #6
0
def read_playlist(token, username):
    sp = spotipy.Spotify(auth=token)
    playlists = sp.user_playlists(username)
    i = 0
    for playlist in playlists['items']:
        print('\n {0} - '.format(i), playlist['name'])
        print('\ttotal tracks', playlist['tracks']['total'])
        i += 1

    playlists_to_transfer = ask_playlist()
    print()
    for l in range(len(playlists_to_transfer)):
        sp_playlist_name = playlists['items'][int(
            playlists_to_transfer[l])]['name']
        print('\n', sp_playlist_name)
        results = sp.playlist(playlists['items'][int(
            playlists_to_transfer[l])]['id'],
                              fields="tracks,next")
        tracks = results['tracks']
        musics_id_list = show_tracks(tracks)
        # HERE STARTS TO SEND THE VIDEOS TO YOUTUBE
        yt_playlist_id = ytplaylist.create_playlist(sp_playlist_name)
        ytinsert.send_to_ytplaylist(ytinsert.youtube, yt_playlist_id,
                                    musics_id_list)
Beispiel #7
0
import os

from create_playlist import create_playlist
from script import scrape
from train import train

if __name__ == "__main__":
    search_term = input("Enter Search Term")
    os.remove("audio_feat.csv")

    print("Searching spotify")
    scrape("random music")
    scrape(search_term)

    print("Training model")
    train()

    print("Creating your playlist")
    create_playlist(search_term)
Beispiel #8
0
def get_station_playlist(station):
    return create_playlist(station)
Beispiel #9
0
def get_station_playlist(station):
    return create_playlist(station)