Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package scdl for openSUSE:Factory checked in at 2022-05-30 12:44:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/scdl (Old) and /work/SRC/openSUSE:Factory/.scdl.new.2254 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scdl" Mon May 30 12:44:01 2022 rev:6 rq:979728 version:2.7.1 Changes: -------- --- /work/SRC/openSUSE:Factory/scdl/scdl.changes 2022-04-14 17:26:12.643315652 +0200 +++ /work/SRC/openSUSE:Factory/.scdl.new.2254/scdl.changes 2022-05-30 12:44:56.404469559 +0200 @@ -1,0 +2,10 @@ +Sun May 22 18:47:01 UTC 2022 - Sebastian Wagner <sebix+novell....@sebix.at> + +- update to version 2.7.1: + - Prefer filename* header (#416) + * Prefer filename* header + * Fix typo + - Support wav file tagging (#417) + - Update README + +------------------------------------------------------------------- @@ -7,3 +16,0 @@ - - Fix downloading hidden tracks from a hidden playlist - - Implement offset - - Fix file size calculation @@ -14,4 +21 @@ -- - Fix offset for playlists - - Fix downloading hidden tracks from a hidden playlist - - Implement offset - - Fix file size calculation +- Fix offset for playlists @@ -22,3 +26 @@ -- - Fix downloading hidden tracks from a hidden playlist - - Implement offset - - Fix file size calculation +- Fix downloading hidden tracks from a hidden playlist @@ -29,2 +31 @@ -- - Implement offset - - Fix file size calculation +- Implement offset @@ -35 +36 @@ -- - Fix file size calculation +- Fix file size calculation Old: ---- scdl-2.7.0.tar.gz New: ---- scdl-2.7.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ scdl.spec ++++++ --- /var/tmp/diff_new_pack.ZSJufr/_old 2022-05-30 12:44:56.980470326 +0200 +++ /var/tmp/diff_new_pack.ZSJufr/_new 2022-05-30 12:44:56.984470331 +0200 @@ -17,7 +17,7 @@ Name: scdl -Version: 2.7.0 +Version: 2.7.1 Release: 0 Summary: Souncloud Music Downloader License: GPL-2.0-only ++++++ scdl-2.7.0.tar.gz -> scdl-2.7.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.7.0/PKG-INFO new/scdl-2.7.1/PKG-INFO --- old/scdl-2.7.0/PKG-INFO 2022-04-06 07:28:01.000000000 +0200 +++ new/scdl-2.7.1/PKG-INFO 2022-05-05 13:46:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: scdl -Version: 2.7.0 +Version: 2.7.1 Summary: Download Music from Souncloud Home-page: https://github.com/flyingrub/scdl Author: FlyinGrub @@ -98,7 +98,7 @@ even if track has a Downloadable file --path [path] Use a custom path for downloaded files --remove Remove any files not downloaded from execution ---sync [file] Compare an archive file to a playlist and downloads/removes any changed tracks +--sync [file] Compare an archive file to a playlist and downloads/removes any changed tracks --flac Convert original files to .flac --no-album-tag On some player track get the same cover art if from the same album, this prevent it --original-art Download original cover art diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.7.0/README.md new/scdl-2.7.1/README.md --- old/scdl-2.7.0/README.md 2022-04-06 07:27:38.000000000 +0200 +++ new/scdl-2.7.1/README.md 2022-05-05 13:46:27.000000000 +0200 @@ -74,7 +74,7 @@ even if track has a Downloadable file --path [path] Use a custom path for downloaded files --remove Remove any files not downloaded from execution ---sync [file] Compare an archive file to a playlist and downloads/removes any changed tracks +--sync [file] Compare an archive file to a playlist and downloads/removes any changed tracks --flac Convert original files to .flac --no-album-tag On some player track get the same cover art if from the same album, this prevent it --original-art Download original cover art diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.7.0/scdl/__init__.py new/scdl-2.7.1/scdl/__init__.py --- old/scdl-2.7.0/scdl/__init__.py 2022-04-06 07:27:38.000000000 +0200 +++ new/scdl-2.7.1/scdl/__init__.py 2022-05-05 13:46:27.000000000 +0200 @@ -1,3 +1,3 @@ # -*- encoding: utf-8 -*- """Python Soundcloud Music Downloader.""" -__version__ = "v2.7.0" +__version__ = "v2.7.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.7.0/scdl/scdl.py new/scdl-2.7.1/scdl/scdl.py --- old/scdl-2.7.0/scdl/scdl.py 2022-04-06 07:27:38.000000000 +0200 +++ new/scdl-2.7.1/scdl/scdl.py 2022-05-05 13:46:27.000000000 +0200 @@ -550,7 +550,10 @@ # Find filename header = r.headers.get("content-disposition") _, params = cgi.parse_header(header) - if "filename" in params: + if "filename*" in params: + encoding, filename = params["filename*"].split("''") + filename = urllib.parse.unquote(filename, encoding=encoding) + elif "filename" in params: filename = urllib.parse.unquote(params["filename"], encoding="utf-8") else: raise SoundCloudException(f"Could not get filename from content-disposition header: {header}") @@ -732,6 +735,7 @@ filename.endswith(".mp3") or filename.endswith(".flac") or filename.endswith(".m4a") + or filename.endswith(".wav") ): try: set_metadata(track, filename, playlist_info, **kwargs) @@ -880,52 +884,66 @@ track.artist = artist_title[0].strip() track.title = artist_title[1].strip() break - - audio = mutagen.File(filename, easy=True) - audio.delete() - audio["title"] = track.title - audio["artist"] = track.artist - if track.genre: - audio["genre"] = track.genre - if track.permalink_url: - audio["website"] = track.permalink_url - if track.date: - audio["date"] = track.date - if playlist_info: - if not kwargs.get("no_album_tag"): - audio["album"] = playlist_info["title"] - audio["tracknumber"] = str(playlist_info["tracknumber"]) - - audio.save() - - a = mutagen.File(filename) + mutagen_file = mutagen.File(filename) + mutagen_file.delete() if track.description: - if a.__class__ == mutagen.flac.FLAC: - a["description"] = track.description - elif a.__class__ == mutagen.mp3.MP3: - a["COMM"] = mutagen.id3.COMM( + if mutagen_file.__class__ == mutagen.flac.FLAC: + mutagen_file["description"] = track.description + elif mutagen_file.__class__ == mutagen.mp3.MP3 or mutagen_file.__class__ == mutagen.wave.WAVE: + mutagen_file["COMM"] = mutagen.id3.COMM( encoding=3, lang="ENG", text=track.description ) - elif a.__class__ == mutagen.mp4.MP4: - a["\xa9cmt"] = track.description + elif mutagen_file.__class__ == mutagen.mp4.MP4: + mutagen_file["\xa9cmt"] = track.description if response: - if a.__class__ == mutagen.flac.FLAC: + if mutagen_file.__class__ == mutagen.flac.FLAC: p = mutagen.flac.Picture() p.data = out_file.read() p.mime = "image/jpeg" p.type = mutagen.id3.PictureType.COVER_FRONT - a.add_picture(p) - elif a.__class__ == mutagen.mp3.MP3: - a["APIC"] = mutagen.id3.APIC( + mutagen_file.add_picture(p) + elif mutagen_file.__class__ == mutagen.mp3.MP3 or mutagen_file.__class__ == mutagen.wave.WAVE: + mutagen_file["APIC"] = mutagen.id3.APIC( encoding=3, mime="image/jpeg", type=3, desc="Cover", data=out_file.read(), ) - elif a.__class__ == mutagen.mp4.MP4: - a["covr"] = [mutagen.mp4.MP4Cover(out_file.read())] - a.save() + elif mutagen_file.__class__ == mutagen.mp4.MP4: + mutagen_file["covr"] = [mutagen.mp4.MP4Cover(out_file.read())] + + if mutagen_file.__class__ == mutagen.wave.WAVE: + mutagen_file["TIT2"] = mutagen.id3.TIT2(encoding=3, text=track.title) + mutagen_file["TPE1"] = mutagen.id3.TPE1(encoding=3, text=track.artist) + if track.genre: + mutagen_file["TCON"] = mutagen.id3.TCON(encoding=3, text=track.genre) + if track.permalink_url: + mutagen_file["WOAS"] = mutagen.id3.WOAS(url=track.permalink_url) + if track.date: + mutagen_file["TDAT"] = mutagen.id3.TDAT(encoding=3, text=track.date) + if playlist_info: + if not kwargs.get("no_album_tag"): + mutagen_file["TALB"] = mutagen.id3.TALB(encoding=3, text=playlist_info["title"]) + mutagen_file["TRCK"] = mutagen.id3.TRCK(encoding=3, text=str(playlist_info["tracknumber"])) + mutagen_file.save() + else: + mutagen_file.save() + audio = mutagen.File(filename, easy=True) + audio["title"] = track.title + audio["artist"] = track.artist + if track.genre: + audio["genre"] = track.genre + if track.permalink_url: + audio["website"] = track.permalink_url + if track.date: + audio["date"] = track.date + if playlist_info: + if not kwargs.get("no_album_tag"): + audio["album"] = playlist_info["title"] + audio["tracknumber"] = str(playlist_info["tracknumber"]) + + audio.save() def limit_filename_length(name: str, ext: str, max_bytes=255): while len(name.encode("utf-8")) + len(ext.encode("utf-8")) > max_bytes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.7.0/scdl.egg-info/PKG-INFO new/scdl-2.7.1/scdl.egg-info/PKG-INFO --- old/scdl-2.7.0/scdl.egg-info/PKG-INFO 2022-04-06 07:28:01.000000000 +0200 +++ new/scdl-2.7.1/scdl.egg-info/PKG-INFO 2022-05-05 13:46:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: scdl -Version: 2.7.0 +Version: 2.7.1 Summary: Download Music from Souncloud Home-page: https://github.com/flyingrub/scdl Author: FlyinGrub @@ -98,7 +98,7 @@ even if track has a Downloadable file --path [path] Use a custom path for downloaded files --remove Remove any files not downloaded from execution ---sync [file] Compare an archive file to a playlist and downloads/removes any changed tracks +--sync [file] Compare an archive file to a playlist and downloads/removes any changed tracks --flac Convert original files to .flac --no-album-tag On some player track get the same cover art if from the same album, this prevent it --original-art Download original cover art