From 5a86e657ffbe84ca1da3e99bac23cfe291878372 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Sun, 7 Jul 2024 10:22:26 +0200 Subject: [PATCH] bundles/mixcloud-downloader: add login via netrc --- bundles/mixcloud-downloader/files/download.sh | 8 ++++++-- bundles/mixcloud-downloader/files/netrc | 3 +++ bundles/mixcloud-downloader/items.py | 6 ++++++ nodes/home/nas.py | 8 ++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 bundles/mixcloud-downloader/files/netrc diff --git a/bundles/mixcloud-downloader/files/download.sh b/bundles/mixcloud-downloader/files/download.sh index a30b36a..b7d97de 100644 --- a/bundles/mixcloud-downloader/files/download.sh +++ b/bundles/mixcloud-downloader/files/download.sh @@ -1,11 +1,15 @@ #!/bin/bash -OPTS="" +OPTS="--netrc" +OPTS="$OPTS --netrc-location /opt/mixcloud-downloader/netrc" +OPTS="$OPTS --retry-sleep linear=1::2" +OPTS="$OPTS --retry-sleep fragment:exp=1:60" +OPTS="$OPTS --extractor-retries 5" if [[ -n "$DEBUG" ]] then set -x else - OPTS="-q" + OPTS="$OPTS -q" fi set -euo pipefail diff --git a/bundles/mixcloud-downloader/files/netrc b/bundles/mixcloud-downloader/files/netrc new file mode 100644 index 0000000..40def1b --- /dev/null +++ b/bundles/mixcloud-downloader/files/netrc @@ -0,0 +1,3 @@ +% for domain, data in sorted(node.metadata.get('mixcloud-downloader/netrc', {}).items()): +machine ${domain} login ${data['username']} password ${data['password']} +% endfor diff --git a/bundles/mixcloud-downloader/items.py b/bundles/mixcloud-downloader/items.py index a45acdc..8c66ce8 100644 --- a/bundles/mixcloud-downloader/items.py +++ b/bundles/mixcloud-downloader/items.py @@ -6,3 +6,9 @@ files['/opt/mixcloud-downloader/download.sh'] = { directories['/opt/mixcloud-downloader'] = { 'owner': 'kunsi', } + +files['/opt/mixcloud-downloader/netrc'] = { + 'content_type': 'mako', + 'mode': '0400', + 'owner': 'kunsi', +} diff --git a/nodes/home/nas.py b/nodes/home/nas.py index 9a674a4..9c2c62f 100644 --- a/nodes/home/nas.py +++ b/nodes/home/nas.py @@ -101,6 +101,14 @@ nodes['home.nas'] = { 'home.lgtv-wohnzimmer', }, }, + 'mixcloud-downloader': { + 'netrc': { + 'soundcloud': { + 'username': 'oauth', + 'password': bwpass.attr('soundcloud.com/hi@kunsmann.eu', 'oauth_token'), + }, + }, + }, 'mosquitto': { 'bridges': { 'c3voc': {