Keep fixing primary artists issues

This commit is contained in:
2023-03-15 12:51:33 -04:00
parent dd34e34970
commit 131fc379c3
4 changed files with 39 additions and 42 deletions

View File

@ -72,7 +72,6 @@ def test_scrobble_mopidy_same_track_different_album(
content_type="application/json", content_type="application/json",
) )
print(response.data)
assert response.status_code == 200 assert response.status_code == 200
assert response.data == {"scrobble_id": 2} assert response.data == {"scrobble_id": 2}
scrobble = Scrobble.objects.last() scrobble = Scrobble.objects.last()

View File

@ -193,7 +193,7 @@ class Album(TimeStampedModel):
slug = get_allmusic_slug(self.name, self.album_artist.name) slug = get_allmusic_slug(self.name, self.album_artist.name)
if not slug: if not slug:
logger.info( logger.info(
f"No allmsuic link for {self} by {self.primary_artist}" f"No allmsuic link for {self} by {self.album_artist}"
) )
return return
self.allmusic_id = slug self.allmusic_id = slug
@ -202,9 +202,7 @@ class Album(TimeStampedModel):
allmusic_data = scrape_data_from_allmusic(self.allmusic_link) allmusic_data = scrape_data_from_allmusic(self.allmusic_link)
if not allmusic_data: if not allmusic_data:
logger.info( logger.info(f"No allmsuic data for {self} by {self.album_artist}")
f"No allmsuic data for {self} by {self.primary_artist}"
)
return return
self.allmusic_review = allmusic_data["review"] self.allmusic_review = allmusic_data["review"]
@ -213,8 +211,8 @@ class Album(TimeStampedModel):
def scrape_theaudiodb(self) -> None: def scrape_theaudiodb(self) -> None:
artist = "Various Artists" artist = "Various Artists"
if self.primary_artist: if self.album_artist:
artist = self.primary_artist.name artist = self.album_artist.name
album_data = lookup_album_from_tadb(self.name, artist) album_data = lookup_album_from_tadb(self.name, artist)
if not album_data.get("theaudiodb_id"): if not album_data.get("theaudiodb_id"):
logger.info(f"No data for {self} found in TheAudioDB") logger.info(f"No data for {self} found in TheAudioDB")
@ -224,7 +222,7 @@ class Album(TimeStampedModel):
def scrape_bandcamp(self, force=False) -> None: def scrape_bandcamp(self, force=False) -> None:
if not self.bandcamp_id or force: if not self.bandcamp_id or force:
slug = get_bandcamp_slug(self.primary_artist.name, self.name) slug = get_bandcamp_slug(self.album_artist.name, self.name)
if not slug: if not slug:
logger.info(f"No bandcamp link for {self}") logger.info(f"No bandcamp link for {self}")
return return
@ -342,19 +340,19 @@ class Album(TimeStampedModel):
@property @property
def rym_link(self): def rym_link(self):
artist_slug = self.primary_artist.name.lower().replace(" ", "-") artist_slug = self.album_artist.name.lower().replace(" ", "-")
album_slug = self.name.lower().replace(" ", "-") album_slug = self.name.lower().replace(" ", "-")
return f"https://rateyourmusic.com/release/album/{artist_slug}/{album_slug}/" return f"https://rateyourmusic.com/release/album/{artist_slug}/{album_slug}/"
@property @property
def bandcamp_link(self): def bandcamp_link(self):
if self.bandcamp_id and self.primary_artist.bandcamp_id: if self.bandcamp_id and self.album_artist.bandcamp_id:
return f"https://{self.primary_artist.bandcamp_id}.bandcamp.com/album/{self.bandcamp_id}" return f"https://{self.album_artist.bandcamp_id}.bandcamp.com/album/{self.bandcamp_id}"
return "" return ""
@property @property
def bandcamp_search_link(self): def bandcamp_search_link(self):
artist = self.primary_artist.name.lower() artist = self.album_artist.name.lower()
album = self.name.lower() album = self.name.lower()
return f"https://bandcamp.com/search?q={album} {artist}&item_type=a" return f"https://bandcamp.com/search?q={album} {artist}&item_type=a"

View File

@ -52,7 +52,7 @@ def export_scrobbles(start_date=None, end_date=None, format="AS"):
track = scrobble.track track = scrobble.track
track_number = 0 # TODO Add track number track_number = 0 # TODO Add track number
track_rating = "S" # TODO implement ratings? track_rating = "S" # TODO implement ratings?
track_artist = track.artist or track.album.primary_artist track_artist = track.artist or track.album.album_artist
row = [ row = [
track_artist, track_artist,
track.album.name, track.album.name,

View File

@ -9,22 +9,22 @@
<p class="view"> <p class="view">
<span class="view-links"> <span class="view-links">
{% if view == 'grid' %} {% if view == 'grid' %}
View as <a href="?{% urlreplace view='list' %}">List</a> View as <a href="?{% urlreplace view='list' %}">List</a>
{% else %} {% else %}
View as <a href="?{% urlreplace view='grid' %}">Grid</a> View as <a href="?{% urlreplace view='grid' %}">Grid</a>
{% endif %} {% endif %}
</span> </span>
</p> </p>
<p class="pagination"> <p class="pagination">
<span class="page-links"> <span class="page-links">
{% if page_obj.has_previous %} {% if page_obj.has_previous %}
<a href="?{% urlreplace page=page_obj.previous_page_number %}">prev</a> <a href="?{% urlreplace page=page_obj.previous_page_number %}">prev</a>
{% endif %} {% endif %}
<span class="page-current"> <span class="page-current">
Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }} Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
</span> </span>
{% if page_obj.has_next %} {% if page_obj.has_next %}
<a href="?{% urlreplace page=page_obj.next_page_number %}">next</a> <a href="?{% urlreplace page=page_obj.next_page_number %}">next</a>
{% endif %} {% endif %}
</span> </span>
</p> </p>
@ -44,22 +44,22 @@
<div class="col-md"> <div class="col-md">
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped table-sm"> <table class="table table-striped table-sm">
<thead> <thead>
<tr> <tr>
<th scope="col">Scrobbles</th> <th scope="col">Scrobbles</th>
<th scope="col">Album</th> <th scope="col">Album</th>
<th scope="col">Artist</th> <th scope="col">Artist</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for album in object_list %} {% for album in object_list %}
<tr> <tr>
<td>{{album.scrobbles.count}}</td> <td>{{album.scrobbles.count}}</td>
<td><a href="{{album.get_absolute_url}}">{{album}}</a></td> <td><a href="{{album.get_absolute_url}}">{{album}}</a></td>
<td><a href="{{album.primary_artist.get_absolute_url}}">{{album.primary_artist}}</a></td> <td><a href="{{album.album_artist.get_absolute_url}}">{{album.album_artist}}</a></td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>
@ -68,15 +68,15 @@
<div class="pagination" style="margin-bottom:50px;"> <div class="pagination" style="margin-bottom:50px;">
<span class="page-links"> <span class="page-links">
{% if page_obj.has_previous %} {% if page_obj.has_previous %}
<a href="?{% urlreplace page=page_obj.previous_page_number %}">prev</a> <a href="?{% urlreplace page=page_obj.previous_page_number %}">prev</a>
{% endif %} {% endif %}
<span class="page-current"> <span class="page-current">
Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }} Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
</span> </span>
{% if page_obj.has_next %} {% if page_obj.has_next %}
<a href="?{% urlreplace page=page_obj.next_page_number %}">next</a> <a href="?{% urlreplace page=page_obj.next_page_number %}">next</a>
{% endif %} {% endif %}
</span> </span>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}