Keep fixing primary artists issues
This commit is contained in:
@ -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()
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -56,7 +56,7 @@
|
|||||||
<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>
|
||||||
|
|||||||
Reference in New Issue
Block a user