Browse Source

Keep fixing primary artists issues

Colin Powell 2 years ago
parent
commit
131fc379c3

+ 0 - 1
tests/scrobbles_tests/test_views.py

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

+ 9 - 11
vrobbler/apps/music/models.py

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

+ 1 - 1
vrobbler/apps/scrobbles/export.py

@@ -52,7 +52,7 @@ def export_scrobbles(start_date=None, end_date=None, format="AS"):
             track = scrobble.track
             track_number = 0  # TODO Add track number
             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 = [
                 track_artist,
                 track.album.name,

+ 29 - 29
vrobbler/templates/music/album_list.html

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