Add capability to check for updates

This commit is contained in:
nathom 2021-04-08 12:41:45 -07:00
parent 4cf00a106e
commit 43edf0255c
4 changed files with 22 additions and 1 deletions

View file

@ -0,0 +1 @@
__version__ = "0.3.1"

View file

@ -4,6 +4,7 @@ from getpass import getpass
from hashlib import md5 from hashlib import md5
import click import click
import requests
from .clients import TidalClient from .clients import TidalClient
from .config import Config from .config import Config
@ -54,6 +55,22 @@ def cli(ctx, **kwargs):
config = Config() config = Config()
if config.session["check_for_updates"]:
from importlib import metadata
from packaging import version
r = requests.get("https://pypi.org/pypi/streamrip/json").json()
newest = r['info']['version']
if version.parse(metadata.version("streamrip")) < version.parse(newest):
click.secho(
"A new version of streamrip is available! "
"Run `pip3 install streamrip --upgrade` to update.",
fg="yellow",
)
else:
click.secho("streamrip is up-to-date!", fg='green')
if kwargs["no_db"]: if kwargs["no_db"]:
config.session["database"]["enabled"] = False config.session["database"]["enabled"] = False
if kwargs["convert"]: if kwargs["convert"]:

View file

@ -81,6 +81,7 @@ class Config:
"keep_downloaded_cover": True, "keep_downloaded_cover": True,
}, },
"path_format": {"folder": FOLDER_FORMAT, "track": TRACK_FORMAT}, "path_format": {"folder": FOLDER_FORMAT, "track": TRACK_FORMAT},
"check_for_updates": True,
} }
def __init__(self, path: str = None): def __init__(self, path: str = None):

View file

@ -782,7 +782,9 @@ class Album(Tracklist):
"streamable": resp.get("allowStreaming"), "streamable": resp.get("allowStreaming"),
"quality": TIDAL_Q_MAP[resp.get("audioQuality")], "quality": TIDAL_Q_MAP[resp.get("audioQuality")],
"bit_depth": 24 if resp.get("audioQuality") == "HI_RES" else 16, "bit_depth": 24 if resp.get("audioQuality") == "HI_RES" else 16,
"sampling_rate": 48000 if resp.get("audioQuality") == 'HI_RES' else 41000, "sampling_rate": 48000
if resp.get("audioQuality") == "HI_RES"
else 41000,
"tracktotal": resp.get("numberOfTracks"), "tracktotal": resp.get("numberOfTracks"),
"disctotal": resp.get("numberOfVolumes"), "disctotal": resp.get("numberOfVolumes"),
} }