2021-07-04 00:01:09 -04:00
|
|
|
# pylint: disable=missing-module-docstring, missing-function-docstring
|
|
|
|
|
|
|
|
from argparse import ArgumentParser
|
|
|
|
from datetime import date, timedelta
|
|
|
|
|
|
|
|
from spotify_actions.echo import echo_album
|
|
|
|
from spotify_actions.join import join_albums
|
2021-07-04 00:22:12 -04:00
|
|
|
from spotify_actions.search import search_albums
|
|
|
|
from spotify_actions.temporal import temporal_released_after
|
2021-07-04 00:01:09 -04:00
|
|
|
from spotify_actions.util import read_credentials
|
|
|
|
|
|
|
|
|
|
|
|
def main() -> None:
|
|
|
|
parser = ArgumentParser()
|
|
|
|
parser.add_argument("-c", "--credentials", required=True)
|
|
|
|
parser.add_argument("label", nargs="+")
|
|
|
|
|
|
|
|
cmdline = parser.parse_args()
|
|
|
|
|
|
|
|
today = date.today()
|
|
|
|
four_weeks = timedelta(days=28)
|
|
|
|
|
|
|
|
client = read_credentials(cmdline.credentials)
|
|
|
|
|
2021-07-04 00:22:12 -04:00
|
|
|
label_albums = [search_albums(client, label=l) for l in cmdline.label]
|
2021-07-04 00:01:09 -04:00
|
|
|
albums = join_albums(*label_albums)
|
2021-07-04 00:22:12 -04:00
|
|
|
albums_recent = temporal_released_after(albums, today - four_weeks)
|
2021-07-04 00:01:09 -04:00
|
|
|
echo_album(albums_recent)
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|