import os
import json
from urllib.parse import quote

# Define the directory to scan
base_directory = '/var/www/html/Music_pdfs/Classical_Piano_Music'

# Define the URL variable
url_var = 'http://dolossips.com/Music_pdfs/Classical_Piano_Music/'

# Initialize an empty list to store music information
music_list = []

# Function to scan the directory and update the music list
def scan_directory(directory):
    for artist in os.listdir(directory):
        artist_path = os.path.join(directory, artist)

        if os.path.isdir(artist_path):
            for song in os.listdir(artist_path):
                if os.path.isfile(os.path.join(artist_path, song)):
                    # Encode special characters in the song name
                    encoded_song_name = quote(song)
                    
                    music_info = {
                        "artist": artist,
                        "name": song,
                        "url": url_var + artist + "/"  + encoded_song_name
                    }
                    music_list.append(music_info)

# Update the music list by scanning the directory
scan_directory(base_directory)

# Write the music list to music.json
with open('music.json', 'w') as json_file:
    json.dump(music_list, json_file, indent=2)

print('Music information updated in music.json')
