Setup history log on nzxt-arch

This commit is contained in:
2018-12-08 05:42:37 -05:00
parent 668fcb7421
commit c4277ab0b4
6 changed files with 28 additions and 10 deletions

View File

@@ -46,7 +46,7 @@ class Track(models.Model):
id = models.CharField(primary_key=True, max_length=MAX_ID) id = models.CharField(primary_key=True, max_length=MAX_ID)
artists = models.ManyToManyField(Artist, blank=True) artists = models.ManyToManyField(Artist, blank=True)
year = models.PositiveSmallIntegerField(null=True) year = models.PositiveSmallIntegerField(blank=True, null=True)
popularity = models.PositiveSmallIntegerField() popularity = models.PositiveSmallIntegerField()
runtime = models.PositiveSmallIntegerField() runtime = models.PositiveSmallIntegerField()
name = models.CharField(max_length=200) name = models.CharField(max_length=200)

View File

@@ -5,6 +5,7 @@ import os
import json import json
from django.db.models import Count, F, Max from django.db.models import Count, F, Max
from django.db import IntegrityError
from django.http import JsonResponse from django.http import JsonResponse
from django.core import serializers from django.core import serializers
from django.utils import timezone from django.utils import timezone
@@ -81,7 +82,8 @@ def save_track_obj(track_dict, artists, user_obj):
else: else:
# check if track is simple or full, simple Track object won't have year # check if track is simple or full, simple Track object won't have year
# if 'album' in track_dict: # if 'album' in track_dict:
try: if 'release_date' in track_dict['album']:
# try:
new_track = Track.objects.create( new_track = Track.objects.create(
id=track_dict['id'], id=track_dict['id'],
year=track_dict['album']['release_date'].split('-')[0], year=track_dict['album']['release_date'].split('-')[0],
@@ -89,8 +91,8 @@ def save_track_obj(track_dict, artists, user_obj):
runtime=int(float(track_dict['duration_ms']) / 1000), runtime=int(float(track_dict['duration_ms']) / 1000),
name=track_dict['name'], name=track_dict['name'],
) )
# else: else:
except KeyError: # except (IntegrityError, KeyError) as e:
new_track = Track.objects.create( new_track = Track.objects.create(
id=track_dict['id'], id=track_dict['id'],
popularity=int(track_dict['popularity']), popularity=int(track_dict['popularity']),

View File

@@ -15,7 +15,7 @@ from .utils import *
TIME_FORMAT = '%Y-%m-%d-%H-%M-%S' TIME_FORMAT = '%Y-%m-%d-%H-%M-%S'
TRACKS_TO_QUERY = 200 TRACKS_TO_QUERY = 200
AUTH_SCOPE = ['user-library-read', 'user-read-recently-played',] AUTH_SCOPE = ['user-library-read', 'user-read-recently-played', ]
# index {{{ # # index {{{ #

View File

@@ -1,15 +1,15 @@
# check if in virtual environment # check if in virtual environment
# https://stackoverflow.com/questions/15454174/how-can-a-shell-function-know-if-it-is-running-within-a-virtualenv/15454916 # https://stackoverflow.com/questions/15454174/how-can-a-shell-function-know-if-it-is-running-within-a-virtualenv/15454916
python -c 'import sys; print(sys.real_prefix)' 2>/dev/null && INVENV=1 || INVENV=0 # python -c 'import sys; print(sys.real_prefix)' 2>/dev/null && INVENV=1 || INVENV=0
# INVENV=$(python -c 'import sys; print ("1" if hasattr(sys, "real_prefix") else "0")') # INVENV=$(python -c 'import sys; print ("1" if hasattr(sys, "real_prefix") else "0")')
# if $INVENV is 1, then in virtualenv # if $INVENV is 1, then in virtualenv
# echo $INVENV # echo $INVENV
if [ $INVENV -eq 1 ]; then # if [ $INVENV -eq 1 ]; then
rm login/migrations/0* api/migrations/0* rm login/migrations/0* api/migrations/0*
sudo -u postgres psql -f reset_db.sql sudo -u postgres psql -f reset_db.sql
python manage.py makemigrations login api python manage.py makemigrations login api
python manage.py migrate python manage.py migrate --fake
python manage.py runserver python manage.py runserver
fi # fi

14
update-history.service Normal file
View File

@@ -0,0 +1,14 @@
[Unit]
Description=Update my Spotify listening history.
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=300
User=kevin
ExecStart=/usr/bin/bash /home/kevin/coding/spotify-lib-vis/src/update-history.sh
[Install]
WantedBy=multi-user.target

View File

@@ -1 +1,3 @@
/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 #!/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