and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

...
 
Commits (5)
#!/usr/bin/env python3
__version__ = "2.0.3"
__version__ = "2.0.4"
USER_AGENT_HEADER = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) " \
"Chrome/79.0.3945.130 Safari/537.36"
......@@ -13,6 +13,7 @@ import errno
from ssl import SSLError
from os import makedirs
from tempfile import gettempdir
from urllib3.exceptions import SSLError as u3SSLError
from deemix.app.queueitem import QISingle, QICollection
from deemix.app.track import Track, AlbumDoesntExists
......@@ -76,7 +77,7 @@ def downloadImage(url, path, overwrite=OverwriteOption.DONT_OVERWRITE):
eventlet.sleep(1)
return downloadImage(urlBase+pictureUrl.replace(str(pictureSize)+"x"+str(pictureSize), '1200x1200'), path, overwrite)
logger.error("Image not found: "+url)
except (request_exception.ConnectionError, request_exception.ChunkedEncodingError) as e:
except (request_exception.ConnectionError, request_exception.ChunkedEncodingError, u3SSLError) as e:
logger.error("Couldn't download Image, retrying in 5 seconds...: "+url+"\n")
eventlet.sleep(5)
return downloadImage(url, path, overwrite)
......@@ -708,7 +709,7 @@ class DownloadJob:
self.downloadPercentage += chunkProgres
self.updatePercentage()
except SSLError as e:
except (SSLError, u3SSLError) as e:
logger.info(f'{itemName} retrying from byte {chunkLength}')
return self.streamTrack(stream, track, chunkLength)
except (request_exception.ConnectionError, requests.exceptions.ReadTimeout):
......
......@@ -7,7 +7,9 @@ userdata = ""
musicdata = ""
if os.getenv("XDG_CONFIG_HOME"):
if os.getenv("DEEMIX_DATA_DIR"):
userdata = Path(os.getenv("DEEMIX_DATA_DIR"))
elif os.getenv("XDG_CONFIG_HOME"):
userdata = Path(os.getenv("XDG_CONFIG_HOME")) / 'deemix'
elif os.getenv("APPDATA"):
userdata = Path(os.getenv("APPDATA")) / "deemix"
......@@ -16,7 +18,9 @@ elif sys.platform.startswith('darwin'):
else:
userdata = homedata / '.config' / 'deemix'
if os.getenv("XDG_MUSIC_DIR"):
if os.getenv("DEEMIX_MUSIC_DIR"):
musicdata = Path(os.getenv("DEEMIX_MUSIC_DIR"))
elif os.getenv("XDG_MUSIC_DIR"):
musicdata = Path(os.getenv("XDG_MUSIC_DIR")) / "deemix Music"
elif os.name == 'nt':
import winreg
......@@ -33,9 +37,6 @@ elif os.name == 'nt':
else:
musicdata = homedata / "Music" / "deemix Music"
def getHomeFolder():
return homedata
def getConfigFolder():
return userdata
......
......@@ -7,7 +7,7 @@ README = (HERE / "README.md").read_text()
setup(
name="deemix",
version="2.0.3",
version="2.0.4",
description="A barebone deezer downloader library",
long_description=README,
long_description_content_type="text/markdown",
......