Skip to content

Instantly share code, notes, and snippets.

@sinancetinkaya
Last active March 4, 2019 21:39
Show Gist options
  • Save sinancetinkaya/1015439a96607f6350ad803957854317 to your computer and use it in GitHub Desktop.
Save sinancetinkaya/1015439a96607f6350ad803957854317 to your computer and use it in GitHub Desktop.
"""
This code generates m3u file of a soundcloud playlist or a single track
Running example https://repl.it/@bahtsiz_bedevi/soundcloudm3u
"""
import sys
from sclib import SoundcloudAPI, Track, Playlist # pip3 install soundcloud-lib
def main(argv):
try:
url = argv[1]
except IndexError:
print('Usage: soundcloud_m3u playlist/track url')
return False
api = SoundcloudAPI()
response = api.resolve(url)
if type(response) is Playlist:
tracks = response.tracks
title = response.title
elif type(response) is Track:
tracks = [response]
title = response.title
else:
print("unknown response")
return False
with open(f'./{title}.m3u', mode='w', encoding="utf-8") as fp:
line = "#EXTM3U\n"
print(line + "\n")
fp.write(line)
for idx, track in enumerate(tracks, 1):
line = f"#EXTINF:{idx}, {track.title}"
print(line)
fp.write(line + "\n")
line = f"{track.permalink_url}\n"
print(line)
fp.write(line + "\n")
if __name__ == '__main__':
main(sys.argv)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment