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,
|
||||||
|
|||||||
@ -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,13 +68,13 @@
|
|||||||
<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>
|
||||||
|
|||||||
Reference in New Issue
Block a user