Giter Site home page Giter Site logo

Comments (7)

exislow avatar exislow commented on June 16, 2024

I do not really understand what your issue is. Please be more precise. Provide settings, logs etc.

from tidal-dl-ng.

Xayayia avatar Xayayia commented on June 16, 2024

log:

$ tdn dl https://tidal.com/album/344769289
Let us check, if you are already logged in... Yep, looks good! You are logged in.
Download skipped, since file exists:
'/data/data/com.termux/files/home/download/Albums/Kanye
West - VULTURES 1/01. Kanye West - STARS.m4a'
Download skipped, since file exists:
'/data/data/com.termux/files/home/download/Albums/Kanye
West - VULTURES 1/02. Kanye West - KEYS TO MY LIFE.m4a'
╭─────────────────── Download Progress ───────────────────╮
│                                                         │
│                                                         │
│  List 'VULTURES 1'                     ⠏ ━╺━━━━━━  12%  │
│  Item 'Kanye West, Ty Dolla $ign - PA'   ━━━━━━━━ 100%  │
│                                                         │
│                                                         │
╰─────────────────────────────────────────────────────────╯
╭─────────── Traceback (most recent call last) ───────────╮
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/cli.py:184 in download                │
│                                                         │
│   181 │   │   │   │   │   media_id=item_id, media_type= │
│   182 │   │   │   │   )                                 │
│   183 │   │   │   elif media_type in [MediaType.ALBUM,  │
│ ❱ 184 │   │   │   │   dl.items(                         │
│   185 │   │   │   │   │   media_id=item_id,             │
│   186 │   │   │   │   │   media_type=media_type,        │
│   187 │   │   │   │   │   file_template=file_template,  │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │            ctx = <click.core.Context object at      │ │
│ │                  0x71aa29f8d0>                      │ │
│ │             dl = <tidal_dl_ng.download.Download     │ │
│ │                  object at 0x71a9c4fe50>            │ │
│ │  file_template = 'Albums/{artist_name} -            │ │
│ │                  {album_title}/{track_num}.         │ │
│ │                  {artist_name} - {track_title}'     │ │
│ │      file_urls = None                               │ │
│ │      fn_logger = <tidal_dl_ng.helper.wrapper.Logge… │ │
│ │                  object at 0x71a9c4f310>            │ │
│ │           item = 'https://tidal.com/album/34476928… │ │
│ │        item_id = '344769289'                        │ │
│ │     media_type = <MediaType.ALBUM: 'album'>         │ │
│ │       progress = <rich.progress.Progress object at  │ │
│ │                  0x71aa368b50>                      │ │
│ │ progress_table = <rich.table.Table object at        │ │
│ │                  0x71a9c4d810>                      │ │
│ │       settings = <tidal_dl_ng.config.Settings       │ │
│ │                  object at 0x71a9c31590>            │ │
│ │           urls = [                                  │ │
│ │                  │                                  │ │
│ │                  'https://tidal.com/album/34476928… │ │
│ │                  ]                                  │ │
│ │  urls_pos_last = 0                                  │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:381 in items              │
│                                                         │
│   378 │   │   while not self.progress.finished:         │
│   379 │   │   │   for media in items:                   │
│   380 │   │   │   │   # Download the item.              │
│ ❱ 381 │   │   │   │   status_download, result_path_file │
│   382 │   │   │   │   │   media=media,                  │
│   383 │   │   │   │   │   file_template=file_name_relat │
│   384 │   │   │   │   )                                 │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │     download_delay = True                           │ │
│ │ file_name_relative = 'Albums/Kanye West - VULTURES  │ │
│ │                      1/{track_num}. Kanye West -    │ │
│ │                      {track_title}'                 │ │
│ │      file_template = 'Albums/{artist_name} -        │ │
│ │                      {album_title}/{track_num}.     │ │
│ │                      {artist_name} - {track_title}' │ │
│ │              items = [                              │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71aa541550>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71b160c450>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71a9c4ee10>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71aa369d90>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71a9c5f650>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71a9c5fad0>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71a9c72650>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71a9c72b90>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71a9c72e90>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x71a9c5ca10>,       │ │
│ │                      │   ... +6                     │ │
│ │                      ]                              │ │
│ │    list_media_name = 'VULTURES 1'                   │ │
│ │              media = <tidalapi.media.Track object   │ │
│ │                      at 0x71a9c4ee10>               │ │
│ │           media_id = '344769289'                    │ │
│ │         media_type = <MediaType.ALBUM: 'album'>     │ │
│ │            p_task1 = 0                              │ │
│ │    progress_stdout = True                           │ │
│ │   result_path_file = '/data/data/com.termux/files/… │ │
│ │                      West - VULTURES 1/02. Kan'+29  │ │
│ │               self = <tidal_dl_ng.download.Download │ │
│ │                      object at 0x71a9c4fe50>        │ │
│ │    status_download = False                          │ │
│ │     video_download = True                           │ │
│ │     videos_include = True                           │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:233 in item               │
│                                                         │
│   230 │   │   │   with tempfile.TemporaryDirectory(igno │
│   231 │   │   │   │   tmp_path_file = os.path.join(tmp_ │
│   232 │   │   │   │   # Download media.                 │
│ ❱ 233 │   │   │   │   tmp_path_file = self._download(me │
│   234 │   │   │   │                                     │
│   235 │   │   │   │   if isinstance(media, Video) and s │
│   236 │   │   │   │   │   # Convert `*.ts` file to `*.m │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │     download_delay = False                          │ │
│ │      download_skip = False                          │ │
│ │   extension_ignore = False                          │ │
│ │ file_name_relative = 'Albums/Kanye West - VULTURES  │ │
│ │                      1/03. Kanye West - PAID'       │ │
│ │      file_template = 'Albums/Kanye West - VULTURES  │ │
│ │                      1/{track_num}. Kanye West -    │ │
│ │                      {track_title}'                 │ │
│ │           manifest = 'PD94bWwgdmVyc2lvbj0nMS4wJyBl… │ │
│ │              media = <tidalapi.media.Track object   │ │
│ │                      at 0x71a9c4ee10>               │ │
│ │           media_id = None                           │ │
│ │         media_type = None                           │ │
│ │          mime_type = 'application/dash+xml'         │ │
│ │          path_file = '/data/data/com.termux/files/… │ │
│ │                      West - VULTURES 1/03. Kan'+18  │ │
│ │               self = <tidal_dl_ng.download.Download │ │
│ │                      object at 0x71a9c4fe50>        │ │
│ │             stream = <tidalapi.media.Stream object  │ │
│ │                      at 0x71aa542b50>               │ │
│ │    stream_manifest = StreamManifest(                │ │
│ │                      │   codecs='flac',             │ │
│ │                      │   mime_type='audio/mp4',     │ │
│ │                      │   urls=[                     │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │   ... +41                │ │
│ │                      │   ],                         │ │
│ │                      │   file_extension='.m4a',     │ │
│ │                      │   encryption_type='NONE',    │ │
│ │                      │   encryption_key=None        │ │
│ │                      )                              │ │
│ │       tmp_path_dir = '/data/data/com.termux/files/… │ │
│ │      tmp_path_file = '/data/data/com.termux/files/… │ │
│ │     video_download = True                           │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:153 in _download          │
│                                                         │
│   150 │   │                                             │
│   151 │   │   # Write metadata to file.                 │
│   152 │   │   if not isinstance(media, Video):          │
│ ❱ 153 │   │   │   self.metadata_write(media, tmp_path_f │
│   154 │   │                                             │
│   155 │   │   return tmp_path_file_decrypted            │
│   156                                                   │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │              block_size = None                      │ │
│ │                    data = b'\x00\x00\x01hmoof\x00\… │ │
│ │                       f = <_io.BufferedWriter       │ │
│ │                           name='/data/data/com.ter… │ │
│ │                   media = <tidalapi.media.Track     │ │
│ │                           object at 0x71a9c4ee10>   │ │
│ │              media_name = 'Kanye West, Ty Dolla     │ │
│ │                           $ign - PAID'              │ │
│ │        needs_decryption = False                     │ │
│ │                  p_task = 1                         │ │
│ │               path_file = '/data/data/com.termux/f… │ │
│ │         progress_stdout = True                      │ │
│ │          progress_total = 51                        │ │
│ │                       r = <Response [200]>          │ │
│ │                    self = <tidal_dl_ng.download.Do… │ │
│ │                           object at 0x71a9c4fe50>   │ │
│ │         stream_manifest = StreamManifest(           │ │
│ │                           │   codecs='flac',        │ │
│ │                           │                         │ │
│ │                           mime_type='audio/mp4',    │ │
│ │                           │   urls=[                │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │   ... +41           │ │
│ │                           │   ],                    │ │
│ │                           │                         │ │
│ │                           file_extension='.m4a',    │ │
│ │                           │                         │ │
│ │                           encryption_type='NONE',   │ │
│ │                           │   encryption_key=None   │ │
│ │                           )                         │ │
│ │ tmp_path_file_decrypted = '/data/data/com.termux/f… │ │
│ │                     url = 'https://sp-ad-fa.audio.… │ │
│ │              urls_count = 51                        │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:327 in metadata_write     │
│                                                         │
│   324 │   │   │   ),                                    │
│   325 │   │   )                                         │
│   326 │   │                                             │
│ ❱ 327 │   │   m.save()                                  │
│   328 │   │                                             │
│   329 │   │   result = True                             │
│   330                                                   │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │   copy_right = 'YZY'                                │ │
│ │         isrc = 'QZ7XS2400003'                       │ │
│ │       lyrics = None                                 │ │
│ │            m = <tidal_dl_ng.metadata.Metadata       │ │
│ │                object at 0x71a9c4d110>              │ │
│ │    path_file = '/data/data/com.termux/files/usr/tm… │ │
│ │ release_date = ''                                   │ │
│ │       result = False                                │ │
│ │         self = <tidal_dl_ng.download.Download       │ │
│ │                object at 0x71a9c4fe50>              │ │
│ │        track = <tidalapi.media.Track object at      │ │
│ │                0x71a9c4ee10>                        │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/metadata.py:97 in save                │
│                                                         │
│    94 │   │   elif isinstance(self.m, mutagen.mp3.MP3): │
│    95 │   │   │   self.set_mp3()                        │
│    96 │   │   elif isinstance(self.m, mutagen.mp4.MP4): │
│ ❱  97 │   │   │   self.set_mp4()                        │
│    98 │   │                                             │
│    99 │   │   self._cover()                             │
│   100 │   │   self.m.save()                             │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │ self = <tidal_dl_ng.metadata.Metadata object at     │ │
│ │        0x71a9c4d110>                                │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/metadata.py:143 in set_mp4            │
│                                                         │
│   140 │   │   # self.m.tags['\xa9gen'] = self.genre     │
│   141 │   │   self.m.tags["\xa9day"] = self.date        │
│   142 │   │   self.m.tags["\xa9wrt"] = ", ".join(self.c │
│ ❱ 143 │   │   self.m.tags["\xa9lyr"] = self.lyrics      │
│   144 │                                                 │
│   145 │   def cover_data(self, url: str = None, path_fi │
│   146 │   │   result: str | bytes = ""                  │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │ self = <tidal_dl_ng.metadata.Metadata object at     │ │
│ │        0x71a9c4d110>                                │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/mutagen/mp4/__init__.py:372 in __setitem__        │
│                                                         │
│    369 │   def __setitem__(self, key, value):           │
│    370 │   │   if not isinstance(key, str):             │
│    371 │   │   │   raise TypeError("key has to be str") │
│ ❱  372 │   │   self._render(key, value)                 │
│    373 │   │   super(MP4Tags, self).__setitem__(key, va │
│    374 │                                                │
│    375 │   @classmethod                                 │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │   key = '©lyr'                                      │ │
│ │  self = {'©nam': 'PAID', '©alb': 'VULTURES 1',      │ │
│ │         'aART': 'Kanye West, Ty Dolla $ign - PAID', │ │
│ │         '©ART': 'Kanye West, Ty Dolla $ign',        │ │
│ │         'cprt': 'YZY', 'trkn': [[3, 1]], 'disk':    │ │
│ │         [[1, 1]], '©day': '', '©wrt': ''}           │ │
│ │ value = None                                        │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/mutagen/mp4/__init__.py:388 in _render            │
│                                                         │
│    385 │   │   │   render_func = type(self).__render_te │
│    386 │   │   │   render_args = []                     │
│    387 │   │                                            │
│ ❱  388 │   │   return render_func(self, key, value, *re │
│    389 │                                                │
│    390 │   @convert_error(IOError, error)               │
│    391 │   @loadfile(writable=True)                     │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │   atom_name = b'\xa9lyr'                            │ │
│ │         key = '©lyr'                                │ │
│ │ render_args = ()                                    │ │
│ │ render_func = <function MP4Tags.__render_text at    │ │
│ │               0x71a9c254e0>                         │ │
│ │        self = {'©nam': 'PAID', '©alb': 'VULTURES    │ │
│ │               1', 'aART': 'Kanye West, Ty Dolla     │ │
│ │               $ign - PAID', '©ART': 'Kanye West, Ty │ │
│ │               Dolla $ign', 'cprt': 'YZY', 'trkn':   │ │
│ │               [[3, 1]], 'disk': [[1, 1]], '©day':   │ │
│ │               '', '©wrt': ''}                       │ │
│ │       value = None                                  │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/mutagen/mp4/__init__.py:822 in __render_text      │
│                                                         │
│    819 │   │   │   value = [value]                      │
│    820 │   │                                            │
│    821 │   │   encoded = []                             │
│ ❱  822 │   │   for v in value:                          │
│    823 │   │   │   if not isinstance(v, str):           │
│    824 │   │   │   │   raise TypeError("%r not str" % v │
│    825                                                  │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │ encoded = []                                        │ │
│ │   flags = <AtomDataType.UTF8: 1>                    │ │
│ │     key = '©lyr'                                    │ │
│ │    self = {'©nam': 'PAID', '©alb': 'VULTURES 1',    │ │
│ │           'aART': 'Kanye West, Ty Dolla $ign -      │ │
│ │           PAID', '©ART': 'Kanye West, Ty Dolla      │ │
│ │           $ign', 'cprt': 'YZY', 'trkn': [[3, 1]],   │ │
│ │           'disk': [[1, 1]], '©day': '', '©wrt': ''} │ │
│ │   value = None                                      │ │
│ ╰─────────────────────────────────────────────────────╯ │
╰─────────────────────────────────────────────────────────╯
TypeError: 'NoneType' object is not iterable
my cfg:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Key                      ┃ Value         ┃ Description  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ download_base_path       │ ./download    │ Where to     │
│                          │               │ store the    │
│                          │               │ downloaded   │
│                          │               │ media.       │
│ download_delay           │ True          │ Activate     │
│                          │               │ randomized   │
│                          │               │ download     │
│                          │               │ delay to     │
│                          │               │ mimic human  │
│                          │               │ behaviour.   │
│ format_album             │ Albums/{arti… │ Where to     │
│                          │ -             │ download     │
│                          │ {album_title… │ albums and   │
│                          │ {artist_name} │ how to name  │
│                          │ -             │ the items.   │
│                          │ {track_title} │              │
│ format_mix               │ Mix/{mix_nam… │ Where to     │
│                          │ -             │ download     │
│                          │ {track_title} │ mixes and    │
│                          │               │ how to name  │
│                          │               │ the items.   │
│ format_playlist          │ Playlists/{p… │ Where to     │
│                          │ -             │ download     │
│                          │ {track_title} │ playlists    │
│                          │               │ and how to   │
│                          │               │ name the     │
│                          │               │ items.       │
│ format_track             │ Tracks/{arti… │ Where to     │
│                          │ -             │ download     │
│                          │ {track_title} │ tracks and   │
│                          │               │ how to name  │
│                          │               │ the items.   │
│ format_video             │ Videos/{arti… │ Where to     │
│                          │ -             │ download     │
│                          │ {track_title} │ videos and   │
│                          │               │ how to name  │
│                          │               │ the items.   │
│ lyrics_embed             │ False         │ Embed lyrics │
│                          │               │ in audio     │
│                          │               │ file.        │
│ lyrics_file              │ True          │ Save lyrics  │
│                          │               │ to separate  │
│                          │               │ *.lrc file.  │
│ metadata_cover_dimension │ CoverDimensi… │ The          │
│                          │               │ dimensions   │
│                          │               │ of the cover │
│                          │               │ image        │
│                          │               │ embedded     │
│                          │               │ into the     │
│                          │               │ track.       │
│                          │               │ Possible     │
│                          │               │ values:      │
│                          │               │ 320x320,     │
│                          │               │ 640x640x     │
│                          │               │ 1280x1280.   │
│ quality_audio            │ Quality.hi_r… │ Desired      │
│                          │               │ audio        │
│                          │               │ download     │
│                          │               │ quality:     │
│                          │               │ "LOW"        │
│                          │               │ (96kbps),    │
│                          │               │ "HIGH"       │
│                          │               │ (320kbps),   │
│                          │               │ "LOSSLESS"   │
│                          │               │ (16 Bit,     │
│                          │               │ 44,1 kHz),   │
│                          │               │ "HI_RES"     │
│                          │               │ (MQA 24 Bit, │
│                          │               │ 96 kHz),     │
│                          │               │ "HI_RES_LOS… │
│                          │               │ (up to 24    │
│                          │               │ Bit, 192     │
│                          │               │ kHz)         │
│ quality_video            │ QualityVideo… │ Desired      │
│                          │               │ video        │
│                          │               │ download     │
│                          │               │ quality:     │
│                          │               │ "360",       │
│                          │               │ "480",       │
│                          │               │ "720",       │
│                          │               │ "1080"       │
│ skip_existing            │ SkipExisting… │ Do not       │
│                          │               │ download, if │
│                          │               │ file already │
│                          │               │ exists.      │
│                          │               │ Possible     │
│                          │               │ option false │
│                          │               │ = do not     │
│                          │               │ skip,        │
│                          │               │ 'exact' = if │
│                          │               │ filename     │
│                          │               │ already      │
│                          │               │ exists,      │
│                          │               │ 'extension_… │
│                          │               │ = skip even  │
│                          │               │ if a file    │
│                          │               │ with a       │
│                          │               │ different    │
│                          │               │ file         │
│                          │               │ extension    │
│                          │               │ exists.      │
│ video_convert_mp4        │ True          │ Videos are   │
│                          │               │ downloaded   │
│                          │               │ as MPEG      │
│                          │               │ Transport    │
│                          │               │ Stream (TS)  │
│                          │               │ files. With  │
│                          │               │ this option  │
│                          │               │ each video   │
│                          │               │ will be      │
│                          │               │ converted to │
│                          │               │ MP4. FFMPEG  │
│                          │               │ must be      │
│                          │               │ installed    │
│                          │               │ and added to │
│                          │               │ your 'PATH'  │
│                          │               │ variable.    │
│ video_download           │ True          │ Allow        │
│                          │               │ download of  │
│                          │               │ videos.      │

from tidal-dl-ng.

exislow avatar exislow commented on June 16, 2024

Great, thank you! Looks like a duplicate of #38

I will release the bug fix soon.

from tidal-dl-ng.

exislow avatar exislow commented on June 16, 2024

Please test it: https://github.com/exislow/tidal-dl-ng/releases/tag/v0.8.2

from tidal-dl-ng.

Xayayia avatar Xayayia commented on June 16, 2024

Successfully uninstalled tidal-dl-ng-0.8.1
Successfully installed tidal-dl-ng-0.8.2

~ $ tdn dl https://tidal.com/album/344769289
Let us check, if you are already logged in... Yep, looks good! You are logged in.
Download skipped, since file exists:
'/data/data/com.termux/files/home/download/Albums/Kanye
West - VULTURES 1/01. Kanye West - STARS.m4a'
Download skipped, since file exists:
'/data/data/com.termux/files/home/download/Albums/Kanye
West - VULTURES 1/02. Kanye West - KEYS TO MY LIFE.m4a'
╭─────────────────── Download Progress ───────────────────╮
│                                                         │
│                                                         │
│  List 'VULTURES 1'                     ⠸ ━╺━━━━━━  12%  │
│  Item 'Kanye West, Ty Dolla $ign - PA'   ━━━━━━━━ 100%  │
│                                                         │
│                                                         │
╰─────────────────────────────────────────────────────────╯
╭─────────── Traceback (most recent call last) ───────────╮
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/cli.py:184 in download                │
│                                                         │
│   181 │   │   │   │   │   media_id=item_id, media_type= │
│   182 │   │   │   │   )                                 │
│   183 │   │   │   elif media_type in [MediaType.ALBUM,  │
│ ❱ 184 │   │   │   │   dl.items(                         │
│   185 │   │   │   │   │   media_id=item_id,             │
│   186 │   │   │   │   │   media_type=media_type,        │
│   187 │   │   │   │   │   file_template=file_template,  │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │            ctx = <click.core.Context object at      │ │
│ │                  0x7b57d61150>                      │ │
│ │             dl = <tidal_dl_ng.download.Download     │ │
│ │                  object at 0x7b5747a390>            │ │
│ │  file_template = 'Albums/{artist_name} -            │ │
│ │                  {album_title}/{track_num}.         │ │
│ │                  {artist_name} - {track_title}'     │ │
│ │      file_urls = None                               │ │
│ │      fn_logger = <tidal_dl_ng.helper.wrapper.Logge… │ │
│ │                  object at 0x7b5747b710>            │ │
│ │           item = 'https://tidal.com/album/34476928… │ │
│ │        item_id = '344769289'                        │ │
│ │     media_type = <MediaType.ALBUM: 'album'>         │ │
│ │       progress = <rich.progress.Progress object at  │ │
│ │                  0x7b57d74050>                      │ │
│ │ progress_table = <rich.table.Table object at        │ │
│ │                  0x7b57bc53d0>                      │ │
│ │       settings = <tidal_dl_ng.config.Settings       │ │
│ │                  object at 0x7b57478c50>            │ │
│ │           urls = [                                  │ │
│ │                  │                                  │ │
│ │                  'https://tidal.com/album/34476928… │ │
│ │                  ]                                  │ │
│ │  urls_pos_last = 0                                  │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:382 in items              │
│                                                         │
│   379 │   │   while not self.progress.finished:         │
│   380 │   │   │   for media in items:                   │
│   381 │   │   │   │   # Download the item.              │
│ ❱ 382 │   │   │   │   status_download, result_path_file │
│   383 │   │   │   │   │   media=media,                  │
│   384 │   │   │   │   │   file_template=file_name_relat │
│   385 │   │   │   │   )                                 │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │     download_delay = True                           │ │
│ │ file_name_relative = 'Albums/Kanye West - VULTURES  │ │
│ │                      1/{track_num}. Kanye West -    │ │
│ │                      {track_title}'                 │ │
│ │      file_template = 'Albums/{artist_name} -        │ │
│ │                      {album_title}/{track_num}.     │ │
│ │                      {artist_name} - {track_title}' │ │
│ │              items = [                              │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b57d855d0>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b57d85990>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b57d85ad0>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b57bc5c50>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b5747a590>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b5749c790>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b574b25d0>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b574b2910>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b574b2a90>,       │ │
│ │                      │   <tidalapi.media.Track      │ │
│ │                      object at 0x7b5749d790>,       │ │
│ │                      │   ... +6                     │ │
│ │                      ]                              │ │
│ │    list_media_name = 'VULTURES 1'                   │ │
│ │              media = <tidalapi.media.Track object   │ │
│ │                      at 0x7b57d85ad0>               │ │
│ │           media_id = '344769289'                    │ │
│ │         media_type = <MediaType.ALBUM: 'album'>     │ │
│ │            p_task1 = 0                              │ │
│ │    progress_stdout = True                           │ │
│ │   result_path_file = '/data/data/com.termux/files/… │ │
│ │                      West - VULTURES 1/02. Kan'+29  │ │
│ │               self = <tidal_dl_ng.download.Download │ │
│ │                      object at 0x7b5747a390>        │ │
│ │    status_download = False                          │ │
│ │     video_download = True                           │ │
│ │     videos_include = True                           │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:233 in item               │
│                                                         │
│   230 │   │   │   with tempfile.TemporaryDirectory(igno │
│   231 │   │   │   │   tmp_path_file = os.path.join(tmp_ │
│   232 │   │   │   │   # Download media.                 │
│ ❱ 233 │   │   │   │   tmp_path_file = self._download(me │
│   234 │   │   │   │                                     │
│   235 │   │   │   │   if isinstance(media, Video) and s │
│   236 │   │   │   │   │   # Convert `*.ts` file to `*.m │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │     download_delay = False                          │ │
│ │      download_skip = False                          │ │
│ │   extension_ignore = False                          │ │
│ │ file_name_relative = 'Albums/Kanye West - VULTURES  │ │
│ │                      1/03. Kanye West - PAID'       │ │
│ │      file_template = 'Albums/Kanye West - VULTURES  │ │
│ │                      1/{track_num}. Kanye West -    │ │
│ │                      {track_title}'                 │ │
│ │           manifest = 'PD94bWwgdmVyc2lvbj0nMS4wJyBl… │ │
│ │              media = <tidalapi.media.Track object   │ │
│ │                      at 0x7b57d85ad0>               │ │
│ │           media_id = None                           │ │
│ │         media_type = None                           │ │
│ │          mime_type = 'application/dash+xml'         │ │
│ │          path_file = '/data/data/com.termux/files/… │ │
│ │                      West - VULTURES 1/03. Kan'+18  │ │
│ │               self = <tidal_dl_ng.download.Download │ │
│ │                      object at 0x7b5747a390>        │ │
│ │             stream = <tidalapi.media.Stream object  │ │
│ │                      at 0x7b574791d0>               │ │
│ │    stream_manifest = StreamManifest(                │ │
│ │                      │   codecs='flac',             │ │
│ │                      │   mime_type='audio/mp4',     │ │
│ │                      │   urls=[                     │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │                          │ │
│ │                      'https://sp-ad-fa.audio.tidal… │ │
│ │                      │   │   ... +41                │ │
│ │                      │   ],                         │ │
│ │                      │   file_extension='.m4a',     │ │
│ │                      │   encryption_type='NONE',    │ │
│ │                      │   encryption_key=None        │ │
│ │                      )                              │ │
│ │       tmp_path_dir = '/data/data/com.termux/files/… │ │
│ │      tmp_path_file = '/data/data/com.termux/files/… │ │
│ │     video_download = True                           │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:153 in _download          │
│                                                         │
│   150 │   │                                             │
│   151 │   │   # Write metadata to file.                 │
│   152 │   │   if not isinstance(media, Video):          │
│ ❱ 153 │   │   │   self.metadata_write(media, tmp_path_f │
│   154 │   │                                             │
│   155 │   │   return tmp_path_file_decrypted            │
│   156                                                   │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │              block_size = None                      │ │
│ │                    data = b'\x00\x00\x01hmoof\x00\… │ │
│ │                       f = <_io.BufferedWriter       │ │
│ │                           name='/data/data/com.ter… │ │
│ │                   media = <tidalapi.media.Track     │ │
│ │                           object at 0x7b57d85ad0>   │ │
│ │              media_name = 'Kanye West, Ty Dolla     │ │
│ │                           $ign - PAID'              │ │
│ │        needs_decryption = False                     │ │
│ │                  p_task = 1                         │ │
│ │               path_file = '/data/data/com.termux/f… │ │
│ │         progress_stdout = True                      │ │
│ │          progress_total = 51                        │ │
│ │                       r = <Response [200]>          │ │
│ │                    self = <tidal_dl_ng.download.Do… │ │
│ │                           object at 0x7b5747a390>   │ │
│ │         stream_manifest = StreamManifest(           │ │
│ │                           │   codecs='flac',        │ │
│ │                           │                         │ │
│ │                           mime_type='audio/mp4',    │ │
│ │                           │   urls=[                │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │                     │ │
│ │                           'https://sp-ad-fa.audio.… │ │
│ │                           │   │   ... +41           │ │
│ │                           │   ],                    │ │
│ │                           │                         │ │
│ │                           file_extension='.m4a',    │ │
│ │                           │                         │ │
│ │                           encryption_type='NONE',   │ │
│ │                           │   encryption_key=None   │ │
│ │                           )                         │ │
│ │ tmp_path_file_decrypted = '/data/data/com.termux/f… │ │
│ │                     url = 'https://sp-ad-fa.audio.… │ │
│ │              urls_count = 51                        │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/download.py:328 in metadata_write     │
│                                                         │
│   325 │   │   │   ),                                    │
│   326 │   │   )                                         │
│   327 │   │                                             │
│ ❱ 328 │   │   m.save()                                  │
│   329 │   │                                             │
│   330 │   │   result = True                             │
│   331                                                   │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │   copy_right = 'YZY'                                │ │
│ │         isrc = 'QZ7XS2400003'                       │ │
│ │       lyrics = None                                 │ │
│ │            m = <tidal_dl_ng.metadata.Metadata       │ │
│ │                object at 0x7b57c7d790>              │ │
│ │    path_file = '/data/data/com.termux/files/usr/tm… │ │
│ │ release_date = ''                                   │ │
│ │       result = False                                │ │
│ │         self = <tidal_dl_ng.download.Download       │ │
│ │                object at 0x7b5747a390>              │ │
│ │        track = <tidalapi.media.Track object at      │ │
│ │                0x7b57d85ad0>                        │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/metadata.py:97 in save                │
│                                                         │
│    94 │   │   elif isinstance(self.m, mutagen.mp3.MP3): │
│    95 │   │   │   self.set_mp3()                        │
│    96 │   │   elif isinstance(self.m, mutagen.mp4.MP4): │
│ ❱  97 │   │   │   self.set_mp4()                        │
│    98 │   │                                             │
│    99 │   │   self._cover()                             │
│   100 │   │   self.m.save()                             │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │ self = <tidal_dl_ng.metadata.Metadata object at     │ │
│ │        0x7b57c7d790>                                │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/tidal_dl_ng/metadata.py:143 in set_mp4            │
│                                                         │
│   140 │   │   # self.m.tags['\xa9gen'] = self.genre     │
│   141 │   │   self.m.tags["\xa9day"] = self.date        │
│   142 │   │   self.m.tags["\xa9wrt"] = ", ".join(self.c │
│ ❱ 143 │   │   self.m.tags["\xa9lyr"] = self.lyrics      │
│   144 │                                                 │
│   145 │   def cover_data(self, url: str = None, path_fi │
│   146 │   │   result: str | bytes = ""                  │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │ self = <tidal_dl_ng.metadata.Metadata object at     │ │
│ │        0x7b57c7d790>                                │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/mutagen/mp4/__init__.py:372 in __setitem__        │
│                                                         │
│    369 │   def __setitem__(self, key, value):           │
│    370 │   │   if not isinstance(key, str):             │
│    371 │   │   │   raise TypeError("key has to be str") │
│ ❱  372 │   │   self._render(key, value)                 │
│    373 │   │   super(MP4Tags, self).__setitem__(key, va │
│    374 │                                                │
│    375 │   @classmethod                                 │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │   key = '©lyr'                                      │ │
│ │  self = {'©nam': 'PAID', '©alb': 'VULTURES 1',      │ │
│ │         'aART': 'Kanye West, Ty Dolla $ign - PAID', │ │
│ │         '©ART': 'Kanye West, Ty Dolla $ign',        │ │
│ │         'cprt': 'YZY', 'trkn': [[3, 1]], 'disk':    │ │
│ │         [[1, 1]], '©day': '', '©wrt': ''}           │ │
│ │ value = None                                        │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/mutagen/mp4/__init__.py:388 in _render            │
│                                                         │
│    385 │   │   │   render_func = type(self).__render_te │
│    386 │   │   │   render_args = []                     │
│    387 │   │                                            │
│ ❱  388 │   │   return render_func(self, key, value, *re │
│    389 │                                                │
│    390 │   @convert_error(IOError, error)               │
│    391 │   @loadfile(writable=True)                     │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │   atom_name = b'\xa9lyr'                            │ │
│ │         key = '©lyr'                                │ │
│ │ render_args = ()                                    │ │
│ │ render_func = <function MP4Tags.__render_text at    │ │
│ │               0x7b574654e0>                         │ │
│ │        self = {'©nam': 'PAID', '©alb': 'VULTURES    │ │
│ │               1', 'aART': 'Kanye West, Ty Dolla     │ │
│ │               $ign - PAID', '©ART': 'Kanye West, Ty │ │
│ │               Dolla $ign', 'cprt': 'YZY', 'trkn':   │ │
│ │               [[3, 1]], 'disk': [[1, 1]], '©day':   │ │
│ │               '', '©wrt': ''}                       │ │
│ │       value = None                                  │ │
│ ╰─────────────────────────────────────────────────────╯ │
│                                                         │
│ /data/data/com.termux/files/usr/lib/python3.11/site-pac │
│ kages/mutagen/mp4/__init__.py:822 in __render_text      │
│                                                         │
│    819 │   │   │   value = [value]                      │
│    820 │   │                                            │
│    821 │   │   encoded = []                             │
│ ❱  822 │   │   for v in value:                          │
│    823 │   │   │   if not isinstance(v, str):           │
│    824 │   │   │   │   raise TypeError("%r not str" % v │
│    825                                                  │
│                                                         │
│ ╭────────────────────── locals ───────────────────────╮ │
│ │ encoded = []                                        │ │
│ │   flags = <AtomDataType.UTF8: 1>                    │ │
│ │     key = '©lyr'                                    │ │
│ │    self = {'©nam': 'PAID', '©alb': 'VULTURES 1',    │ │
│ │           'aART': 'Kanye West, Ty Dolla $ign -      │ │
│ │           PAID', '©ART': 'Kanye West, Ty Dolla      │ │
│ │           $ign', 'cprt': 'YZY', 'trkn': [[3, 1]],   │ │
│ │           'disk': [[1, 1]], '©day': '', '©wrt': ''} │ │
│ │   value = None                                      │ │
│ ╰─────────────────────────────────────────────────────╯ │
╰─────────────────────────────────────────────────────────╯
TypeError: 'NoneType' object is not iterable

from tidal-dl-ng.

exislow avatar exislow commented on June 16, 2024

I cannot re-produce it, sorry. Are you sure, you are running the latest version? tidal-dl-ng --version

I can tell you form the line numbers, that you are not running the latest version. Try to get rid of all copies of this app and install only the very latest.

from tidal-dl-ng.

Xayayia avatar Xayayia commented on June 16, 2024

I wiped termux data and installed tdn fresh and it works now. The 2 first lines are from the upgrade command, so I don't know how it could still use 0.8.1. If there's any "wipe something" command maybe it could be useful step of updating

from tidal-dl-ng.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.