Commit Graph

524 Commits

Author SHA1 Message Date
kermit 314beb682f Expose extrasPath to queue item 2020-10-01 17:33:37 +01:00
kermit 0a11f53c4c Consistent logging 2020-10-01 17:33:37 +01:00
kermit b73d533c2b Fix post-download command for collections 2020-10-01 17:33:37 +01:00
RemixDev f3754dc51b Added exception for when lyrics don't exsist 2020-10-01 16:04:11 +02:00
RemixDev 22e024af39 Fixed overwrite padding size 2020-09-30 20:27:19 +02:00
RemixDev 050b25471f Fixed id not being string 2020-09-30 16:19:14 +02:00
RemixDev 0d0fc9a2b7 Updated PyPi to 1.5.3 2020-09-30 15:34:57 +02:00
RemixDev f209df1fe1 Cleaned up queuemanager.py 2020-09-30 15:34:30 +02:00
RemixDev 860d57c437 Cleaned up settings.py 2020-09-30 15:33:40 +02:00
RemixDev 335a42ea83 Fixed retrocompatibility explicit in queueItem 2020-09-30 15:33:25 +02:00
kermit 1969d3ca7e Use HEAD not GET to test track url, and send User-Agent
Means we can avoid stream=True and the issues around returning the
connection to the pool detailed here:
https://requests.readthedocs.io/en/latest/user/advanced/#body-content-workflow
2020-09-30 09:17:15 +01:00
kermit bb98953963 Fix streamTrack
Fixes several cases:
- When connection error thrown on retry, and subsequent retry started
  from the beginning, not the partial start
- Clone headers instead of adding Range header to dz.http_headers
  variables - this was causing errors on other requests
- Use 'with self.dz.session.get' to make sure request cleaned up on
  failure
- Fix calculation of downloadPercentage for retries: complete is now
  the size of the retry, so percentage needs to account for start
  value
2020-09-30 09:17:15 +01:00
kermit 04eb63b4cd Set a timeout and use session connection pool for getting file sizes 2020-09-30 09:17:15 +01:00
RemixDev 48f6026c75 Merge pull request 'Expose explicit flag in queue' (#64) from kermit/deemix:explicit into main
Reviewed-on: https://codeberg.org/RemixDev/deemix/pulls/64
2020-09-30 09:56:41 +02:00
RemixDev effa746b27 Fixed #67 2020-09-30 09:33:14 +02:00
RemixDev 250682ea18 Fixed cli not working on Windows 2020-09-29 08:57:22 +02:00
RemixDev f85b208af4 Fixed path concat in pathtemplates 2020-09-28 23:06:22 +02:00
kermit 4a85bf5b64 Expose explicit flag in queue 2020-09-28 19:32:09 +01:00
RemixDev 798dcdd3d9 Changed all os.path to pathlib + cleanup
Bumped to 1.5.0
2020-09-27 23:44:37 +02:00
RemixDev 6e955ee01f Updated PyPi to 1.4.3 2020-09-26 07:52:03 +02:00
RemixDev 5103380cf5 Cleaned up playlsit section in track.py 2020-09-25 20:24:35 +02:00
RemixDev 0c71827ba9 Added comment for ARTISTS tag
In reference to #62
2020-09-25 18:21:38 +02:00
RemixDev 31b3ae1d87 Merge pull request 'New methods to get new releases and detailed album search' (#63) from kermit/deemix:new-release into main
Reviewed-on: https://codeberg.org/RemixDev/deemix/pulls/63
2020-09-25 18:13:29 +02:00
RemixDev 9f90103b6d Fixed spotify conversion error 2020-09-25 18:10:47 +02:00
kermit 7007be943a New methods to get new releases and detailed album search 2020-09-25 15:34:20 +01:00
RemixDev 4a573233a1 More code cleanup 2020-09-24 19:20:01 +02:00
RemixDev 975fdf95dd Cleaned up main and taggers 2020-09-24 17:46:08 +02:00
RemixDev 09331516c7 Fixed sync lyrics timing 2020-09-22 11:32:07 +02:00
RemixDev 09dba218c2 Added simple spotifyCache validation 2020-09-20 18:32:39 +02:00
RemixDev 9dc52ccaa8 Updated PyPi to 1.4.0 2020-09-20 11:48:58 +02:00
RemixDev 7461ed2359 Added logging alert for bitrate fallback
Added 'bitrateFallback' and 'searchFallback' emits for queueUpdate
This adds #57
2020-09-20 11:29:18 +02:00
RemixDev 0848941583 Implemented tagsLanguage setting 2020-09-20 11:14:54 +02:00
RemixDev 4e7b170720 Added compilation tag to deezer's compilations 2020-09-20 10:50:09 +02:00
RemixDev 6f1e7ccbb1 Removed shebangs from non executable files 2020-09-20 10:39:20 +02:00
RemixDev 3b2a5ac3bb Moved utils.misc in utils 2020-09-20 10:35:05 +02:00
RemixDev e020592d18 Added #33 2020-09-19 17:50:03 +02:00
RemixDev d9fa7927de Replacing YEAR vorbis comment with DATE as YEAR is not standard 2020-09-19 17:43:29 +02:00
RemixDev ceef735d29 Added function to change accept language in deezer api 2020-09-19 11:46:58 +02:00
RemixDev 5fa251ae3a Added option for saving cover description as UTF8 2020-09-19 11:06:35 +02:00
RemixDev b0014f5219 Updated PyPi to 1.3.12 2020-09-19 10:38:38 +02:00
RemixDev c573709471 Fixed #49 2020-09-19 10:37:50 +02:00
RemixDev 0eb7390ce3 Fixed ID3 date tag following specification
https://id3.org/id3v2.3.0#TDAT
Fixes #50
2020-09-19 10:27:58 +02:00
RemixDev 3e0ebc804b Fixed #46 2020-09-18 22:17:58 +02:00
RemixDev 85436d1eb7 Fixed ACK check for artists 2020-09-18 18:52:05 +02:00
RemixDev 290c55c509 Added simple cached favorites management 2020-09-18 16:02:36 +02:00
RemixDev 31cbcdec77 Fixed issue while converting cached spotify tracks 2020-09-18 15:06:31 +02:00
RemixDev 73684aed45 Fixed pyinstaller spotipy issue and started working on favorites 2020-09-18 13:43:54 +02:00
RemixDev 9603616d33 Fixed spotify features for cli 2020-09-17 23:40:26 +02:00
RemixDev c5762d87b4 Updated PyPi to 1.3.7 2020-09-16 21:40:27 +02:00
RemixDev 9773076af3 Added check if file exsists before removing 2020-09-16 21:38:24 +02:00
kermit e0194c8241 Catch and retry on ssl errors 2020-09-16 19:26:30 +01:00
RemixDev 3e93a9f180 Added noSpaceLeft exception for downloads
Fixes #44
2020-09-16 19:24:50 +02:00
RemixDev 7ad0f2a13a Added _EXTRA_TRACK when downloading with isrc 2020-09-15 20:13:50 +02:00
RemixDev fb53bd732f Updated PyPi to 1.3.6 2020-09-15 20:09:25 +02:00
RemixDev b91c12b858 Merge pull request 'Pass back user specified ack on addToQueue' (#43) from kermit/deemix:ack into main
Reviewed-on: https://codeberg.org/RemixDev/deemix/pulls/43
2020-09-15 20:06:54 +02:00
RemixDev 1599223384 Fixed conversion for some spotify urls
You need to remove spotifyCache.json in the config folder to use this
2020-09-15 19:41:11 +02:00
kermit 2bde3ca2fa Pass back ack on addToQueue
Enables external requests to identify the queueitem uuid that was
generated by an addToQueue request
2020-09-15 16:43:55 +01:00
RemixDev 39be6077d3 Added missing dependency in setup.py 2020-09-15 17:29:26 +02:00
RemixDev 0057a44b6c Updated PyPi to 1.3.4 2020-09-15 17:04:15 +02:00
kermit 35b440c444 Use eventlet 2020-09-15 15:27:08 +01:00
RemixDev 614a3feab7 Updated PyPi to 1.3.3 2020-09-14 18:43:29 +02:00
kermit ea39527ea4 Pass back the location of the downloaded files in queue items
This allows a third party user to locate downloaded files from a
previous session (i.e. if they weren't connected to receieve the
updateQueue requsts)
2020-09-14 16:34:35 +01:00
RemixDev 38a16d9fdd Removed references to sp from function calls in QueueManager 2020-09-14 00:19:28 +02:00
RemixDev 5e735cdbe7 Fixed cli not working 2020-09-13 19:26:53 +02:00
RemixDev d6106f30b7 Cleaned up some code 2020-09-12 13:08:28 +02:00
RemixDev e81adde17d Added support for embedded sync lyrics on MP3 with the SYLT tag 2020-09-10 13:44:38 +02:00
RemixDev 4de567dfcf Fixed encoding on cover description 2020-09-10 13:13:58 +02:00
RemixDev 2a82a9a663 Fixed #40 2020-09-10 12:43:53 +02:00
RemixDev da34c289a7 Better download managing for covers 2020-09-10 11:43:32 +02:00
RemixDev 37b801f2f0 Strict check for featuredToTitle to prevent issues 2020-09-07 16:13:50 +02:00
RemixDev e57f40aff3 Added paddingSize to default check 2020-09-07 15:51:35 +02:00
RemixDev a96451654c Added support for 'deezer.page.link' urls 2020-09-07 12:25:00 +02:00
RemixDev 98b67fa70a Added download auto retry on unstable connections 2020-09-07 12:09:46 +02:00
RemixDev 4933e01034 Added new Bundle type 2020-09-06 11:33:44 +02:00
RemixDev 09589f9603 Fixed #39 2020-09-04 00:16:02 +02:00
RemixDev b3ef035169 Updated PyPi to 1.2.14 2020-09-03 16:14:31 +02:00
RemixDev e0fcdaedbb removed --local and added --portable 2020-09-03 16:13:57 +02:00
TheUltimateC0der c45994f733 Update 'deemix/app/cli.py'
Added path param for downloading the content to the given path
2020-09-02 23:19:26 +02:00
TheUltimateC0der 17fb1f3aa3 Update 'deemix/__main__.py'
Added option for download path
2020-09-02 23:14:59 +02:00
replydev c546572834 Fix undefined settings on local mode 2020-08-29 16:09:35 +02:00
RemixDev 986ba16ab7 Updated PyPi to 1.2.13 2020-08-27 13:22:22 +02:00
RemixDev 3051da3ff0 Separated get_track_filesizes from session
This should fix the VALID_TOKEN_REQUIRED error
2020-08-27 13:15:50 +02:00
RemixDev 9828da7429 Fixed #32 (Unicode NFC normalizing track names) 2020-08-27 11:37:30 +02:00
RemixDev e18a0bf410 Updated PyPi to 1.2.12 2020-08-26 21:20:32 +02:00
RemixDev 0a86ebfea2 Fixed session cookie expiring after 1h 30m 2020-08-26 21:11:31 +02:00
RemixDev 3af0305a80 Fixed spotify playlist conversion with old cache (int and not str)
This fixes #27
2020-08-24 18:58:42 +02:00
RemixDev bafdb84ce7 Added changeCase to mainArtist, mainArtistsString and featArtistsString 2020-08-24 13:07:38 +02:00
RemixDev a1e7840123 Fixed Explicit tag 2020-08-22 20:57:02 +02:00
RemixDev 6de87fafa9 Updated PyPi to 1.2.8 2020-08-22 13:36:00 +02:00
RemixDev 2dab230a73 Added direct testing fallback for getPreferredBitrate 2020-08-22 13:35:24 +02:00
RemixDev b6eff13349 Fixed QueueError for single item 2020-08-22 10:22:29 +02:00
RemixDev 3aee9f6725 Updated PyPi to 1.2.7 2020-08-21 14:47:03 +02:00
RemixDev 395ccc2e30 Added option to skip already downloaded tracks with different extension
This adds #21
2020-08-21 14:46:34 +02:00
RemixDev 240c133d57 Added back option to save PNGs as embedded artwork 2020-08-21 14:40:36 +02:00
RemixDev 56ebc0aa0f Fixed utf-8 logging on Windows 2020-08-21 12:48:32 +02:00
RemixDev 00885ae674 It's now possible to cancel spotify playlist conversion 2020-08-19 17:16:39 +02:00
RemixDev 2a662928f9 Polished some code 2020-08-18 15:13:32 +02:00
Phie 26a7a47b62 fix saveSettings not defined 2020-08-18 13:24:16 +02:00
RemixDev 18138b0216 Updated PyPi to 1.2.5 2020-08-17 22:46:56 +02:00
RemixDev e351803a81 Fixed saving extrasPath 2020-08-17 17:46:21 +02:00
RemixDev 805dafd510 Fixed download bug for artists and multiple links 2020-08-17 11:05:29 +02:00
RemixDev b825f00a35 Added download path to logfile 2020-08-17 11:04:35 +02:00
RemixDev fa303a8c20 Updated PyPi to 1.2.3 2020-08-17 00:49:00 +02:00
RemixDev b2b7c450d4 Fixed removeFinishedDownloads 2020-08-17 00:33:13 +02:00
RemixDev cae72c51fd Updated PyPi to 1.2.2 2020-08-16 21:06:46 +02:00
RemixDev 830c76ff1c Fixed name 'queueItem' is not defined 2020-08-16 19:09:32 +02:00
RemixDev 032845f394 Fixed "name 'generateQueueItem' is not defined"
This fixes #23
2020-08-16 18:10:32 +02:00
RemixDev 808af1c01f Updated PyPi to 1.2.1 2020-08-16 14:02:10 +02:00
RemixDev 1c08564874 Fixed settings not defined 2020-08-16 13:58:14 +02:00
RemixDev af06d963da Fixed track download without lyrics 2020-08-16 13:25:25 +02:00
RemixDev e8357cf5e1 Fixed issues with spotify playlist and the queue manager 2020-08-16 12:29:51 +02:00
RemixDev d4bcc728f4 Moved features from pyweb to the library
Also fixed some errors
2020-08-16 10:41:18 +02:00
RemixDev 7088bff58d Fixed "Fixed check for corrupted FLACs" 2020-08-15 23:43:39 +02:00
RemixDev a3e9cdeca1 Cleaned up afterDownload functions 2020-08-15 23:36:32 +02:00
RemixDev 560fc70052 Fixed check for corrupted FLACs 2020-08-15 23:12:26 +02:00
RemixDev 34263c150f Made the refactoring work 2020-08-15 23:03:05 +02:00
RemixDev 4cfdc4872d Done more code rework 2020-08-15 21:34:10 +02:00
RemixDev 7a536caf1c More code reworking 2020-08-15 15:49:45 +02:00
RemixDev 243cf3dfa6 Continued code reworking 2020-08-14 22:28:26 +02:00
RemixDev c611420bd9 Started refactoring queuemanager as a class 2020-08-14 21:27:50 +02:00
RemixDev 8afdfc7042 Started reworking the library 2020-08-14 20:31:37 +02:00
RemixDev a991ad04ec Moved spotify conversion outside creating queue item 2020-08-14 19:50:37 +02:00
RemixDev 3f8d4d5ae9 Moved local outside of settings 2020-08-14 18:14:08 +02:00
RemixDev 42842b07b8 Remove duplicate releases when getting artist discography 2020-08-11 22:30:07 +02:00
RemixDev d22f55c279 Fixed track['album']['mainArtist']['save'] error
'save' wansn't setted when falling back to gw API
2020-08-05 15:18:23 +02:00
RemixDev f326617afa Updated PyPi to 1.1.29 2020-08-04 16:01:56 +02:00
RemixDev e9871629cf Added support for artist's top tracks and discography 2020-08-04 16:01:23 +02:00
RemixDev d856a08b90 Fixed More album display 2020-08-04 16:00:52 +02:00
RemixDev c0ba5316cc Added get_artist_discography_gw 2020-08-04 14:42:02 +02:00
RemixDev 41f1e44a6f Remove whitespace from arl and Spotify clientID and clientSecret 2020-07-31 14:09:14 +02:00
RemixDev ffb803cf3c Fixed playlist cover downloading and spotify playlist size
This fixes #8 again
2020-07-30 19:37:10 +02:00
RemixDev c65b85631b Added 'b' option for overwriteFile
It will keep both files and add a number at the end of the filename
2020-07-30 19:23:54 +02:00
RemixDev f91e7fe943 Made singleAlbumArtist and albumVariousArtists work together 2020-07-30 19:09:29 +02:00
RemixDev e9418c8433 Fixed download of spotify playlists with null tracks
This fixes #8
2020-07-30 18:46:34 +02:00
RemixDev 7409fce337 Updated PyPi to 1.1.23 2020-07-29 12:25:21 +02:00
RemixDev 60c16571e3 Made cli not use queue as it's sequential anyway 2020-07-29 12:18:22 +02:00
RemixDev 613c1aebd3 Simplified changeCase function 2020-07-29 12:03:03 +02:00
RemixDev 73358d1c22 Modified fixLongName to work bytewise
This fixes #6
2020-07-29 11:32:25 +02:00
RemixDev b450929553 Fallback corrupted FLAC files
This adds #3
2020-07-29 01:00:16 +02:00
RemixDev 0ad552ef2d Updated PyPi to 1.1.21 2020-07-25 23:50:39 +02:00
lexicallychallenged 93ec5383e8 bug: change variable to actually defined one and remove non-existent method call 2020-07-25 18:08:53 +00:00
RemixDev 5163685216 Updated PyPi to 1.1.20 2020-07-24 20:03:08 +02:00
uh_wot a85396600a rewrote getPreferredBitrate function using mobile API workaround
should be more stable than constantly requesting the CDN
2020-07-24 16:21:24 +02:00
RemixDev ec38923701 Added better workaround for #2 2020-07-24 11:28:42 +02:00
RemixDev f3b36b3ea3 Fixed issue where main artist was not saved 2020-07-23 21:14:17 +02:00
RemixDev 10002f3a78 Updated PyPi to 1.1.15 2020-07-23 16:42:47 +02:00
RemixDev eaf0ecd086 Added 'errid' for queueManager as well 2020-07-23 16:41:11 +02:00
RemixDev 4d82b385db Updated PyPi to 1.1.14 2020-07-23 16:17:03 +02:00
RemixDev e98b9c084a Fixed all track tagged as compilation if setting is enabled
This fixes #1
2020-07-23 16:16:40 +02:00
RemixDev 527a712cbc Added check for feat artists inside main artists array
This fixed #2
2020-07-23 16:11:00 +02:00
RemixDev 267b7e4fa8 Made 'errid' available on the queueItem as well 2020-07-23 16:01:58 +02:00
RemixDev aa70a8b45f Updated PyPi to 1.1.13 2020-07-23 15:20:52 +02:00
RemixDev 8734e01b0f Added 'errid' for translations 2020-07-23 15:18:57 +02:00
RemixDev fc0d781219 Fixed track download through ISRC 2020-07-23 15:10:18 +02:00
RemixDev 4c79c3cc25 Updated pypi to 1.1.12 2020-07-19 08:29:44 +02:00
RemixDev 6a7847170e re-added playlist cover download 2020-07-19 08:25:58 +02:00
Dummyc0m ab66cb60e6 Fixed invalid literal when downloading playlist
Fixed playlistURL invalid with playlist
2020-07-18 18:46:17 -04:00
RemixDev 3d0f27b107 Fixed error when downloading single tracks 2020-07-18 19:15:41 +02:00
RemixDev ccce111a85 Updated pypi to 1.1.10 2020-07-18 18:22:18 +02:00
RemixDev 2dfedcb18f Replaced PNGcovers with localArtworkFormat
Forced embedded artwork to jpg as png artwork is buggy
localArtworkFormat is a comma separated list of the local cover formats 
you want
2020-07-18 18:01:18 +02:00
RemixDev 492b1dbc23 Renamed multitagSeparator to multiArtistSeparator
as it only affects artists
Added singleAlbumArtist that saves only the main artist in the 
albumartist field
2020-07-18 17:28:51 +02:00
RemixDev bc59fb8906 Added %allartists% variable for track template 2020-07-18 17:26:55 +02:00
RemixDev 6cf890f7cd downloaded updateQueue now contains downloadPath as well 2020-07-15 10:04:24 +02:00
RemixDev aa68190caa Fixed case change with words with less than 1 char
This fixes #21
2020-07-13 12:54:45 +02:00
RemixDev 22ffac188b Added workaround for deezer api cap of 255 tracks
This fixes #52
2020-07-13 12:41:40 +02:00
RemixDev 73304e06c5 Fixed #56 2020-07-13 12:14:40 +02:00
RemixDev d8fdc8344f Force using Spotipy with a version higher than 2.11.0
This fixes the "No module named spotipy.exceptions" error
2020-07-07 08:20:47 +02:00
RemixDev 309ac9bd13 Removed get_track_md5 as it doesn't work anymore 2020-07-02 21:57:02 +02:00
RemixDev e51576ab2f Fixed support with local uploaded tracks 2020-07-02 16:49:17 +02:00
RemixDev 565b205262 Added logging to files
logs are located in the logs folder inside deemix config folder
2020-07-01 16:33:47 +02:00
RemixDev e5dd2bb4f0 Added exceptions for wrong URLs 2020-06-29 13:58:06 +02:00
RemixDev f72fe5ceee Added exceptions for wrong URLs and added support for UPC and ISRC URLs 2020-06-26 12:20:48 +02:00
RemixDev e478e5b031 Added playlist cover download, even when not saved as compilation
Added %explicit% to playlist folder template
This fixes #41
2020-06-23 00:27:43 +02:00
RemixDev f47f4b4979 Changed unknown playlist date from ???? to XXXX to fix errors on Windows 2020-06-22 23:24:42 +02:00
RemixDev ffeb9d2ace Fixed some issues with downloading multiple tracks at once 2020-06-19 20:14:20 +02:00
RemixDev dd45835039 Divide and manage multiple download links directly in the library 2020-06-19 11:08:07 +02:00
RemixDev c8875483bc Added check if 'code' is in error obj 2020-06-18 17:03:16 +02:00
RemixDev 2cce36f82d Changed ID3 length tag from seconds to milliseconds 2020-06-14 21:15:32 +02:00
RemixDev e74a022a5f Changed default id3 separator from ' / ' to '/' 2020-06-13 10:45:35 +02:00
RemixDev d61af72c2a Made CLI bitrate case insensitive
This fixes #32
2020-06-13 10:00:31 +02:00
RemixDev c987cc8a8c Reverting commit cb4b7b6f63 2020-06-13 09:58:45 +02:00
RemixDev 89d0fe21fa Parameter not replaced for settingsRegexAlbum
This fixes #31
2020-06-12 19:29:57 +02:00
RemixDev 8c1dfe63d0 Change cover download timeout to generic timeout 2020-06-12 13:15:59 +02:00
RemixDev 89a4e762c5 Added error logging for spotify tracks not on deezer 2020-06-12 11:07:22 +02:00
RemixDev fa6d1d8b74 Added check for generic error and auto retry
This fixes #25
2020-06-12 10:48:07 +02:00
RemixDev be93716993 Added wait and retry for "Quota limit exceeded"
This fixes #30
2020-06-12 10:15:47 +02:00
RemixDev 34cdda74d6 Added caching system for spotify conversion
This adds #26
2020-06-11 14:30:35 +02:00
RemixDev 349d7338b0 Added option to remove featured artists from album title as well 2020-06-11 13:06:26 +02:00
skid 9db18902c4 Added filename parameter to "Command to execute after download" of single tracks 2020-06-11 15:10:23 +10:00
RemixDev 5cab1b5fbe Added albumVariousArtists option
When set to false, albums with "Various Artists" as the album artist 
will leave the field blank. Some music players need this config to add 
the album to the internal "Various Artists" category.
2020-06-10 22:07:34 +02:00
RemixDev 56bd8fac54 Added removeDuplicateArtists option 2020-06-10 20:18:17 +02:00
RemixDev 42e55b3f06 Added playlistFilenameTemplate setting
Variables are:
%title%, %artist%, %size%, %type%, %id%, %bitrate%
2020-06-10 19:47:57 +02:00
RemixDev cb4b7b6f63 File permission is now set to 770
This fixes #19
2020-06-05 20:00:40 +02:00
RemixDev 2552f0787d Keep "Various Aritsts" tag only if it's the only artist in the track
This fixes #21
2020-06-05 19:35:51 +02:00
RemixDev 85dddb27c9 Made interface messages abstract
This removes the 'toast' interface event as it is a deemix-pyweb 
specific event
2020-06-05 10:47:54 +02:00
RemixDev 440ba1a61f Fixed error logging in spotify playlists 2020-06-05 10:41:08 +02:00
RemixDev 8959a8c940 Fixed issue with spotify metadata conversion 2020-06-02 12:23:34 +02:00
RemixDev a60fd5e195 padTracks now forces padding for albums with less than 10 tracks
This fixes #14
2020-06-02 11:55:31 +02:00
blocks af8de88259 Fixed typo when setting album title after APIError 2020-06-01 13:37:02 +00:00
RemixDev a475dbc397 Casting every id in string concatenations as a string, just to be sure 2020-05-31 22:15:46 +02:00