diff --git a/mmm-nsf-changer.py b/mmm-nsf-changer.py index feca812..8a9c8aa 100644 --- a/mmm-nsf-changer.py +++ b/mmm-nsf-changer.py @@ -5,6 +5,7 @@ import shutil import pathlib import filecmp import webbrowser +import requests ##Here goes the actual code @@ -22,6 +23,18 @@ def safelist(): #maybe add autoupdater through gitlab #add +mmm_version = "1.8.5.2" +def check_version(version=False): + api_version = "https://api.megamanmaker.com/version" + ver = requests.get(api_version) + ver_num = ver.json()["version"] + if version == True: + return ver_num + if mmm_version == ver_num: + return True + else: + return False + def check_folder_structure(megamaker_folder, og_music=False): megamaker_folder = os.path.abspath(megamaker_folder) @@ -34,13 +47,17 @@ def check_folder_structure(megamaker_folder, og_music=False): glob_search = os.path.join(music_folder,"*","*.nsf") file_paths = (glob(glob_search)) for files in file_paths: - if files == 'TMP_BURNER_MAN.nsf' or files == "TMP_COLD_MAN.nsf": - continue + files_no_path = os.path.basename(files) + if files_no_path == 'TMP_BURNER_MAN.nsf': + print("skipping",files_no_path) + elif files_no_path == 'TMP_COLD_MAN.nsf': + print("skipping", files_no_path) else: - file_names.append(os.path.basename(files)) + file_names.append(files_no_path) if set(file_names) == set(safelist()): return file_paths - print("YEP") + else: + print("Safety check failed. Either you have other files in the music folder of mega maker, you are in the wrong folder, or there has been a new update.") else: return False @@ -88,7 +105,6 @@ def restore_ogmusic(path): def nsf_changer (nsf_path, megamaker_folder): original_path = check_folder_structure(megamaker_folder) if original_path: - print("WORK") move_music_to_ogmusic(megamaker_folder) recreate_structure(nsf_path, original_path) return True @@ -100,9 +116,18 @@ sg.theme('LightBlue') icon = b"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAArlBMVEUAAAAAAAB5eXmioqIwUYJBksNh0+Oi//MwYUFJomlx45Ki/8s4bQBJqhBx80Gi86I4aQBRogCa6wDL84JJWQCKigDr0yD/85J5QQDDcQD/ogD/26KiMADjUQD/eTD/y7qyEDDbQWH/YbL/uuuaIHnbQcPzYf/jsv9hEKKSQfOicf/Dsv8oALpBQf9Rgv+iuv8gALJBYfthov+S0/95eXmysrLr6+v///8Aaf9DkP8A2fKiAAAAOnRSTlMA////////////////////////////////////////////////////////////////////////////ncmmFQAAAK5JREFUOI21k1sSgCAIRb2rYtz/xpKnpIz1UcyUAkcEldYfpL0DwN8iGRja6g7EgLkix3Jg8ScqAyVxrOJDgIjGhHSQMQw8WwA3+4QBxFoxj8BKSmkMzMXoGZW6a4CzMw0OmJO3I6khkhVA0hBVCNoBuMrhPR4KwKNgZqSAhjZTQmEnaUQcD9Bjz+aXHT+9g3gCbV5LLf8BWw7HR3t/53e/d1bVNhkoGy911kkegQvP3acj3R2TXgAAAABJRU5ErkJggg==" gif = b"R0lGODdhQgAmAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAQgAmAIAAAAAAefsCzISPqcvtD6OctNqLs95chg92YgOGT/mNExpArOqhrgzPpW3WznvSHM8AknwbocK4QGKUBybCWYFCDdMV8XhNZpfbZvf5BUjD1fFteA6GqeR2WvtWxxPmHNwux9PdevAc++cVyDYotmZYWJeCaFLGt5i3yON4NvnYwih5aFl5Sdi4ScPZJwjaeWo3qpko2ooKmYmpKutqaruaWou7S/vae4v5ySv8OxxLjFxqPJvMfKxcHN2sK/087XsNnA3r3E29HfzsjS3+rXOOnn5QAAAh+QQJCgAAACwCAAYAPgAeAIAAAAAAefsClYSPqcvtD6OctNqLcw28a9R5W0hy31FaZXoCLLWSrSuPsdm+0y2eusTD+Wqw4OwXCQaOxJ0x1wQ+hyHV9IOEKJlV243bc/IM2QerTH6iG+doYkvrFrtr+JrRli/stXr/T6cGGKaQJ2IYkxa4eDiIg7ii2Mj46LgUN/mFWUl5CSnJqfm56WkJWjpGerqq2go5CmvqSlIAACH5BAkKAAAALAIABgA+AB4AgAAAAAB5+wKthI+pF+0Lo5zTPYqzBrbtDyZdEJbfaKYYqm4s9C5xOYudVIM5c0e724MFZUNaj/XjFEPI4xKRzDQthqT1qaRmL1et0GvTTi9fMhEMdYqxVfbWc+aqzYounbfO39Po8P5NAtjWxyenB1c3B2e3qBiYeBjIKOlY1hiJUykYd2n4N+jZiegnSkmIF2o6kgpa2qrqCjgWOwtr+1r7qruZK6vZC+wYjMn7u0o8zFpsUQAAIfkECQoAAAAsAgAGAD4AHgCAAAAAAHn7AqGEb6GL7Q+jfIvNi3OrSvsPcQFIkmKJAifFpaW4ru4Ht6o9e3WV4K7M2o1uvBzQIewQLbPjJtkrNn1I6FI5LcaszpdtK4wyf99y+DrMWsA7MVbDVsZh7jTcvMbX6vzIvJ809OenJ1g42HWAeFjYF9KIVrcoFZSnxXiZOValKYdpCerZaTgqCTkZSpqKKpoK+Nkaqyr7Oso6i1u7espbGolWAAAh+QQJCgAAACwCAAgAPgAcAIAAAAAAefsCooSPCcGtD6OcqTmKs142bNl5nxKOUGkiaKp27LG+nCXPVx2nObuPvfnbBD/DzPDokiFpkd/y9ngyDCGp6JTEMqvZaJf0rSS5TC0UXPZuydPm+J1GX9htcxtlpdJB8Hm4tcbGF+gXJ0bIpYcogvcH05docwfJ6KhYSHY5uah5pYYZ2cgp6Sm3mUnaqZrKKorqehpbOUo3C2oruwpbpUvZS9tRAAA7" + +if check_version(): + version_color = "black" + version_message = f"Works with Mega Man Maker {mmm_version}" +else: + version_color = "red" + version_message = f"Mega Man Maker has been updated to {check_version(version=True)}. \nThis tool works with {mmm_version} and may not work properly. Make an Issue at GitLab." + layout = [ [sg.Text("Mega Man Maker NSF Music Changer | Made by Timothy GFO", justification="center")], [sg.Text("YouTube", enable_events = True, key="-YT-", text_color="red"), sg.Text("GitLab",enable_events = True,key="-GIT-", text_color="purple"), sg.Text("Blog",enable_events = True,key="-SITE-", text_color="blue")], + [sg.Text(version_message, text_color=version_color)], [sg.Text("Input NSF File:"), sg.Input(key="-IN-"),sg.FileBrowse(file_types=(("NSF Files", "*.nsf*"),))], [sg.Text("MegaMaker Folder:"), sg.Input(key="-OUT-"), sg.FolderBrowse()], [sg.Exit(),sg.Button("About") , sg.Button("Replace NSF Music"), sg.Button("Restore Original Music"), sg.Image(data=gif, key='_IMAGE_')],