Fix duplicate key bug, set root url to login

This commit is contained in:
2019-06-07 07:52:38 -04:00
parent 68c1c85ebd
commit 89432834f6
8 changed files with 45 additions and 74 deletions

View File

@@ -8,7 +8,7 @@ These instructions will get you a copy of the project up and running on your loc
### Prerequisites
Before starting the setup, make sure Python 3.6 and PostgreSQL is installed on your system.
Before starting the setup, make sure Python 3 and PostgreSQL is installed on your system.
<!--- installation steps {{{ -->

View File

@@ -4,19 +4,22 @@ import math
import os
import json
from django.db.models import Count, F, Max
from django.db import IntegrityError
from django.http import JsonResponse
from django.core import serializers
from django.utils import timezone
from .models import *
from . import views
from login.models import User
from pprint import pprint
from dateutil.parser import parse
from datetime import datetime
from django.core.exceptions import ObjectDoesNotExist
from django.db import IntegrityError
from django.db.models import Count, F, Max
from django.db.models import FloatField
from django.db.models.functions import Cast
from django.http import JsonResponse
from django.utils import timezone
from datetime import datetime
from dateutil.parser import parse
from pprint import pprint
from . import views
from .models import *
from login.models import User
HISTORY_ENDPOINT = 'https://api.spotify.com/v1/me/player/recently-played'
@@ -247,15 +250,21 @@ def save_track_artists(track_dict, artist_genre_queue, user_headers):
"""
track_artists = []
for artist_dict in track_dict['artists']:
artist_obj, artist_created = Artist.objects.get_or_create(
id=artist_dict['id'],
name=artist_dict['name'],)
try:
artist_obj, artist_created = Artist.objects.get_or_create(
id=artist_dict['id'],
name=artist_dict['name'],)
if artist_created:
artist_genre_queue.append(artist_obj)
if len(artist_genre_queue) == views.ARTIST_LIMIT:
add_artist_genres(user_headers, artist_genre_queue)
artist_genre_queue[:] = []
# artist changed name but same id
except IntegrityError as e:
artist_obj = Artist.objects.get(id=artist_dict['id'])
artist_obj.name = artist_dict['name']
artist_obj.save()
# only add/tally up artist genres if new
if artist_created:
artist_genre_queue.append(artist_obj)
if len(artist_genre_queue) == views.ARTIST_LIMIT:
add_artist_genres(user_headers, artist_genre_queue)
artist_genre_queue[:] = []
track_artists.append(artist_obj)
return track_artists

View File

@@ -1,40 +0,0 @@
astroid==2.2.5
backports.csv==1.0.7
certifi==2019.3.9
chardet==3.0.4
defusedxml==0.5.0
Django==2.2
django-appconf==1.0.3
django-compressor==2.2
django-crispy-forms==1.7.2
django-filter==2.1.0
django-sass-processor==0.7.3
django-tables2==2.0.6
djangorestframework==3.9.2
et-xmlfile==1.0.1
idna==2.8
isort==4.3.17
jdcal==1.4
lazy-object-proxy==1.3.1
libsass==0.18.0
mccabe==0.6.1
odfpy==1.4.0
openpyxl==2.6.2
psycopg2==2.8.2
psycopg2-binary==2.8.2
pylint==2.3.1
python-dateutil==2.8.0
pytz==2019.1
PyYAML==5.1
rcssmin==1.0.6
requests==2.21.0
rjsmin==1.0.12
six==1.12.0
sqlparse==0.3.0
tablib==0.13.0
typed-ast==1.3.1
unicodecsv==0.14.1
urllib3==1.24.1
wrapt==1.11.1
xlrd==1.2.0
xlwt==1.3.0

View File

@@ -1,34 +1,37 @@
astroid==2.2.4
certifi==2018.11.29
astroid==2.2.5
backports.csv==1.0.7
certifi==2019.3.9
chardet==3.0.4
defusedxml==0.5.0
Django==2.1.7
Django==2.2
django-appconf==1.0.3
django-compressor==2.2
django-crispy-forms==1.7.2
django-filter==2.1.0
django-sass-processor==0.7.2
django-tables2==2.0.5
django-sass-processor==0.7.3
django-tables2==2.0.6
djangorestframework==3.9.2
et-xmlfile==1.0.1
idna==2.8
isort==4.3.12
isort==4.3.17
jdcal==1.4
lazy-object-proxy==1.3.1
libsass==0.17.0
libsass==0.18.0
mccabe==0.6.1
odfpy==1.4.0
openpyxl==2.6.1
psycopg2-binary==2.7.7
openpyxl==2.6.2
psycopg2==2.8.2
psycopg2-binary==2.8.2
pylint==2.3.1
python-dateutil==2.8.0
pytz==2018.9
PyYAML==3.13
pytz==2019.1
PyYAML==5.1
rcssmin==1.0.6
requests==2.21.0
rjsmin==1.1.0
six==1.12.0
tablib==0.12.1
sqlparse==0.3.0
tablib==0.13.0
typed-ast==1.3.1
unicodecsv==0.14.1
urllib3==1.24.1

View File

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

View File

@@ -18,7 +18,7 @@ from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('login/', include('login.urls', namespace="login")),
path('', include('login.urls', namespace="main")),
path('api/', include('api.urls', namespace="api")),
path('graphs/', include('graphs.urls', namespace="graphs")),
]