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-01-31 22:56:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/scdl (Old) and /work/SRC/openSUSE:Factory/.scdl.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scdl" Mon Jan 31 22:56:57 2022 rev:3 rq:949908 version:2.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/scdl/scdl.changes 2022-01-15 21:45:49.469633937 +0100 +++ /work/SRC/openSUSE:Factory/.scdl.new.1898/scdl.changes 2022-01-31 22:57:27.505526424 +0100 @@ -1,0 +2,13 @@ +Sat Jan 22 18:36:41 UTC 2022 - Sebastian Wagner <[email protected]> + +- - Fix downloading hidden tracks from a hidden playlist + - Implement offset + - Fix file size calculation + +------------------------------------------------------------------- +Tue Jan 18 11:20:03 UTC 2022 - Sebastian Wagner <[email protected]> + +- - Implement offset + - Fix file size calculation + +------------------------------------------------------------------- Old: ---- scdl-2.5.3.tar.gz New: ---- scdl-2.6.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ scdl.spec ++++++ --- /var/tmp/diff_new_pack.CGKBa6/_old 2022-01-31 22:57:27.981523219 +0100 +++ /var/tmp/diff_new_pack.CGKBa6/_new 2022-01-31 22:57:27.985523192 +0100 @@ -17,7 +17,7 @@ Name: scdl -Version: 2.5.3 +Version: 2.6.1 Release: 0 Summary: Souncloud Music Downloader License: GPL-2.0-only ++++++ scdl-2.5.3.tar.gz -> scdl-2.6.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.5.3/PKG-INFO new/scdl-2.6.1/PKG-INFO --- old/scdl-2.5.3/PKG-INFO 2022-01-07 11:49:55.000000000 +0100 +++ new/scdl-2.6.1/PKG-INFO 2022-01-20 10:42:13.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: scdl -Version: 2.5.3 +Version: 2.6.1 Summary: Download Music from Souncloud Home-page: https://github.com/flyingrub/scdl Author: FlyinGrub diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.5.3/scdl/__init__.py new/scdl-2.6.1/scdl/__init__.py --- old/scdl-2.5.3/scdl/__init__.py 2022-01-07 11:49:36.000000000 +0100 +++ new/scdl-2.6.1/scdl/__init__.py 2022-01-20 10:41:53.000000000 +0100 @@ -2,4 +2,4 @@ """Python Soundcloud Music Downloader.""" -__version__ = "v2.5.3" +__version__ = "v2.6.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.5.3/scdl/scdl.py new/scdl-2.6.1/scdl/scdl.py --- old/scdl-2.5.3/scdl/scdl.py 2022-01-07 11:49:36.000000000 +0100 +++ new/scdl-2.6.1/scdl/scdl.py 2022-01-20 10:41:53.000000000 +0100 @@ -64,14 +64,15 @@ import cgi import configparser +import itertools import logging import math import mimetypes -import pathlib mimetypes.init() import os +import pathlib import shutil import subprocess import sys @@ -128,9 +129,6 @@ # Parse arguments arguments = docopt(__doc__, version=__version__) - python_args = { - "offset": 1 - } if arguments["--debug"]: logger.level = logging.DEBUG @@ -172,13 +170,13 @@ if arguments["-o"] is not None: try: - python_args["offset"] = int(arguments["-o"]) - if python_args["offset"] < 1: + arguments["--offset"] = int(arguments["-o"]) - 1 + if arguments["--offset"] < 0: raise ValueError() except Exception: logger.error("Offset should be a positive integer...") sys.exit(1) - logger.debug("offset: %d", python_args["offset"]) + logger.debug("offset: %d", arguments["--offset"]) if arguments["--min-size"] is not None: try: @@ -214,6 +212,7 @@ arguments["-l"] = validate_url(client, arguments["-l"]) # convert arguments dict to python_args (kwargs-friendly args) + python_args = {} for key, value in arguments.items(): key = key.strip("-").replace("-", "_") python_args[key] = value @@ -295,6 +294,7 @@ url = kwargs.get("l") item = client.resolve(url) logger.debug(item) + offset = kwargs.get("offset", 0) if not item: logger.error("URL is not valid") sys.exit(1) @@ -303,14 +303,14 @@ download_track(client, item, **kwargs) elif item.kind == "playlist": logger.info("Found a playlist") - download_playlist(client, item, **kwargs) + download_playlist(client, item, playlist_offset=offset, **kwargs) elif item.kind == "user": user = item logger.info("Found a user profile") if kwargs.get("f"): logger.info(f"Retrieving all likes of user {user.username}...") resources = client.get_user_likes(user.id, limit=1000) - for i, like in enumerate(resources, 1): + for i, like in itertools.islice(enumerate(resources, 1), offset, None): logger.info(f"like n??{i} of {user.likes_count}") if hasattr(like, "track"): download_track(client, like.track, exit_on_fail=kwargs.get("strict_playlist"), **kwargs) @@ -324,21 +324,21 @@ elif kwargs.get("C"): logger.info(f"Retrieving all commented tracks of user {user.username}...") resources = client.get_user_comments(user.id, limit=1000) - for i, comment in enumerate(resources, 1): + for i, comment in itertools.islice(enumerate(resources, 1), offset, None): logger.info(f"comment n??{i} of {user.comments_count}") download_track(client, client.get_track(comment.track.id), exit_on_fail=kwargs.get("strict_playlist"), **kwargs) logger.info(f"Downloaded all commented tracks of user {user.username}!") elif kwargs.get("t"): logger.info(f"Retrieving all tracks of user {user.username}...") resources = client.get_user_tracks(user.id, limit=1000) - for i, track in enumerate(resources, 1): + for i, track in itertools.islice(enumerate(resources, 1), offset, None): logger.info(f"track n??{i} of {user.track_count}") download_track(client, track, exit_on_fail=kwargs.get("strict_playlist"), **kwargs) logger.info(f"Downloaded all tracks of user {user.username}!") elif kwargs.get("a"): logger.info(f"Retrieving all tracks & reposts of user {user.username}...") resources = client.get_user_stream(user.id, limit=1000) - for i, item in enumerate(resources, 1): + for i, item in itertools.islice(enumerate(resources, 1), offset, None): logger.info(f"item n??{i} of {user.track_count + user.reposts_count if user.reposts_count else '?'}") if item.type in ("track", "track-repost"): download_track(client, item.track, exit_on_fail=kwargs.get("strict_playlist"), **kwargs) @@ -352,14 +352,14 @@ elif kwargs.get("p"): logger.info(f"Retrieving all playlists of user {user.username}...") resources = client.get_user_playlists(user.id, limit=1000) - for i, playlist in enumerate(resources, 1): + for i, playlist in itertools.islice(enumerate(resources, 1), offset, None): logger.info(f"playlist n??{i} of {user.playlist_count}") download_playlist(client, playlist, **kwargs) logger.info(f"Downloaded all playlists of user {user.username}!") elif kwargs.get("r"): logger.info(f"Retrieving all reposts of user {user.username}...") resources = client.get_user_reposts(user.id, limit=1000) - for i, item in enumerate(resources, 1): + for i, item in itertools.islice(enumerate(resources, 1), offset, None): logger.info(f"item n??{i} of {user.reposts_count or '?'}") if item.type == "track-repost": download_track(client, item.track, exit_on_fail=kwargs.get("strict_playlist"), **kwargs) @@ -410,18 +410,22 @@ ) playlist.tracks = playlist.tracks[: int(kwargs.get("n"))] else: - del playlist.tracks[: kwargs.get("offset") - 1] + del playlist.tracks[: kwargs.get("playlist_offset", 0)] tracknumber_digits = len(str(len(playlist.tracks))) - for counter, track in enumerate(playlist.tracks, kwargs.get("offset")): + for counter, track in itertools.islice(enumerate(playlist.tracks, 1), kwargs.get("playlist_offset", 0), None): logger.debug(track) logger.info(f"Track n??{counter}") playlist_info = { "author": playlist.user.username, + "id": playlist.id, "title": playlist.title, "tracknumber": str(counter).zfill(tracknumber_digits), } if isinstance(track, MiniTrack): - track = client.get_track(track.id) + if playlist.secret_token: + track = client.get_tracks([track.id], playlist.id, playlist.secret_token)[0] + else: + track = client.get_track(track.id) download_track(client, track, playlist_info, kwargs.get("strict_playlist"), **kwargs) finally: if not kwargs.get("no_playlist_folder"): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.5.3/scdl.egg-info/PKG-INFO new/scdl-2.6.1/scdl.egg-info/PKG-INFO --- old/scdl-2.5.3/scdl.egg-info/PKG-INFO 2022-01-07 11:49:55.000000000 +0100 +++ new/scdl-2.6.1/scdl.egg-info/PKG-INFO 2022-01-20 10:42:13.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: scdl -Version: 2.5.3 +Version: 2.6.1 Summary: Download Music from Souncloud Home-page: https://github.com/flyingrub/scdl Author: FlyinGrub diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.5.3/scdl.egg-info/requires.txt new/scdl-2.6.1/scdl.egg-info/requires.txt --- old/scdl-2.5.3/scdl.egg-info/requires.txt 2022-01-07 11:49:55.000000000 +0100 +++ new/scdl-2.6.1/scdl.egg-info/requires.txt 2022-01-20 10:42:13.000000000 +0100 @@ -4,4 +4,4 @@ requests clint pathvalidate -soundcloud-v2>=1.2.0 +soundcloud-v2>=1.3.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/scdl-2.5.3/setup.py new/scdl-2.6.1/setup.py --- old/scdl-2.5.3/setup.py 2022-01-07 11:49:36.000000000 +0100 +++ new/scdl-2.6.1/setup.py 2022-01-20 10:41:53.000000000 +0100 @@ -28,7 +28,7 @@ "requests", "clint", "pathvalidate", - "soundcloud-v2>=1.2.0" + "soundcloud-v2>=1.3.0" ], url="https://github.com/flyingrub/scdl", classifiers=[
