From 1d9583489fba88fc4a581bd5644a5c87c6aa9654 Mon Sep 17 00:00:00 2001 From: Kevin Mok Date: Sun, 18 Aug 2019 17:07:37 -0400 Subject: [PATCH] History/most played queries Update history service draft. --- .gitignore | 3 ++- scripts/history.sql | 11 +++++++++++ scripts/most-played.sql | 12 ++++++++++++ scripts/systemd-timer/cp-update-history.sh | 10 ++++++++++ scripts/systemd-timer/ln-update-history.sh | 9 +++++++++ scripts/systemd-timer/update-history.service | 6 ++++++ scripts/systemd-timer/update-history.timer | 10 ++++++++++ scripts/update-history.service | 14 -------------- scripts/update-history.sh | 10 +++++++++- 9 files changed, 69 insertions(+), 16 deletions(-) create mode 100644 scripts/history.sql create mode 100644 scripts/most-played.sql create mode 100755 scripts/systemd-timer/cp-update-history.sh create mode 100755 scripts/systemd-timer/ln-update-history.sh create mode 100644 scripts/systemd-timer/update-history.service create mode 100644 scripts/systemd-timer/update-history.timer delete mode 100644 scripts/update-history.service diff --git a/.gitignore b/.gitignore index 4b217f6..26748be 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,8 @@ spotifyvis/static/graphs/sass/* *.pyc *.txt -api-keys.sh +api-keys* + db.sqlite3 Pipfile scrap.py diff --git a/scripts/history.sql b/scripts/history.sql new file mode 100644 index 0000000..6968b05 --- /dev/null +++ b/scripts/history.sql @@ -0,0 +1,11 @@ +-- select t.name as track, a.name as artist +select timestamp, substring(t.name for 50) as track, a.name as artist +from api_history as h +join api_track as t +on h.track_id = t.id +join api_track_artists ta +on ta.track_id = t.id +join api_artist a +on a.id = ta.artist_id +-- limit 10; +; diff --git a/scripts/most-played.sql b/scripts/most-played.sql new file mode 100644 index 0000000..828a1eb --- /dev/null +++ b/scripts/most-played.sql @@ -0,0 +1,12 @@ +-- select t.name as track, a.name as artist +select substring(t.name for 50) as track, a.name as artist, count(t.id) +from api_history as h +join api_track as t +on h.track_id = t.id +join api_track_artists ta +on ta.track_id = t.id +join api_artist a +on a.id = ta.artist_id +group by t.id, a.id +order by count(t.id) desc; +-- limit 10; diff --git a/scripts/systemd-timer/cp-update-history.sh b/scripts/systemd-timer/cp-update-history.sh new file mode 100755 index 0000000..f89e794 --- /dev/null +++ b/scripts/systemd-timer/cp-update-history.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +sv_scripts_dir="/home/kevin/coding/spotify-lib-vis/src/scripts" +systemd_dir="/etc/systemd/system" +script_name="update-history" + +for ext in "service" "timer" ; do + filename="$script_name"."$ext" + sudo ln -s "$sv_scripts_dir"/"$filename" "$systemd_dir"/"$filename" +done diff --git a/scripts/systemd-timer/ln-update-history.sh b/scripts/systemd-timer/ln-update-history.sh new file mode 100755 index 0000000..599710f --- /dev/null +++ b/scripts/systemd-timer/ln-update-history.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +sv_scripts_dir="/home/kevin/coding/spotify-lib-vis/src/scripts" +systemd_dir="/etc/systemd/system" +script_name="update-history" + +for ext in "service" "timer" ; do + sudo cp "$sv_scripts_dir"/"$script_name"."$ext" "$systemd_dir" +done diff --git a/scripts/systemd-timer/update-history.service b/scripts/systemd-timer/update-history.service new file mode 100644 index 0000000..df7e3ce --- /dev/null +++ b/scripts/systemd-timer/update-history.service @@ -0,0 +1,6 @@ +[Unit] +Description=Update my Spotify listening history job. + +[Service] +Type=simple +ExecStart=/usr/bin/bash /home/kevin/coding/spotify-lib-vis/src/scripts/update-history.sh diff --git a/scripts/systemd-timer/update-history.timer b/scripts/systemd-timer/update-history.timer new file mode 100644 index 0000000..7013ba5 --- /dev/null +++ b/scripts/systemd-timer/update-history.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Update my Spotify listening history. +Requires=update-history.service + +[Timer] +OnUnitInactiveSec=2h +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/scripts/update-history.service b/scripts/update-history.service deleted file mode 100644 index 28c6f39..0000000 --- a/scripts/update-history.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Update my Spotify listening history. -After=network.target -StartLimitIntervalSec=0 - -[Service] -Type=simple -Restart=always -RestartSec="15m" -User=kevin -ExecStart=/usr/bin/bash /home/kevin/coding/spotify-lib-vis/src/update-history.sh - -[Install] -WantedBy=multi-user.target diff --git a/scripts/update-history.sh b/scripts/update-history.sh index a9508d4..9c17ef6 100755 --- a/scripts/update-history.sh +++ b/scripts/update-history.sh @@ -1,3 +1,11 @@ #!/bin/bash -/home/kevin/coding/spotify-lib-vis/bin/python /home/kevin/coding/spotify-lib-vis/src/manage.py update-history >> /home/kevin/coding/spotify-lib-vis/src/api/management/commands/update-history.log 2>&1 +spv_dir="/home/kevin/coding/spotify-lib-vis" +src_dir="$spv_dir"/src + +python="$spv_dir"/bin/python +log_file="$src_dir"/api/management/commands/update-history.log + +source "$src_dir"/scripts/api-keys.sh +"$python" "$src_dir"/manage.py update-history >> "$log_file" 2>&1 +# "$python" "$src_dir"/manage.py update-history