Update long play to use seconds
This commit is contained in:
@ -0,0 +1,22 @@
|
||||
# Generated by Django 4.1.5 on 2023-03-06 15:20
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("scrobbles", "0028_scrobble_video_game_minutes_played"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="scrobble",
|
||||
name="video_game_minutes_played",
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="scrobble",
|
||||
name="long_play_seconds",
|
||||
field=models.BigIntegerField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
@ -418,7 +418,7 @@ class Scrobble(TimeStampedModel):
|
||||
|
||||
# Fields for keeping track long content like books and games
|
||||
book_pages_read = models.IntegerField(**BNULL)
|
||||
video_game_minutes_played = models.IntegerField(**BNULL)
|
||||
long_play_seconds = models.BigIntegerField(**BNULL)
|
||||
long_play_complete = models.BooleanField(**BNULL)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
@ -601,7 +601,7 @@ class Scrobble(TimeStampedModel):
|
||||
"Syncing long play media playback time to elapsed time since start"
|
||||
)
|
||||
now = timezone.now()
|
||||
updated_playback = (now - self.timestamp).seconds / 60
|
||||
updated_playback = (now - self.timestamp).seconds
|
||||
|
||||
media_filter = models.Q(video_game=self.video_game)
|
||||
if class_name == "Book":
|
||||
@ -612,20 +612,21 @@ class Scrobble(TimeStampedModel):
|
||||
played_to_completion=True,
|
||||
long_play_complete=False,
|
||||
).last()
|
||||
self.video_game_minutes_played = int(updated_playback)
|
||||
self.long_play_seconds = int(updated_playback)
|
||||
if last_scrobble:
|
||||
self.video_game_minutes_played = (
|
||||
self.long_play_seconds = (
|
||||
int(last_scrobble.playback_position) + updated_playback
|
||||
)
|
||||
|
||||
self.playback_position = int(updated_playback)
|
||||
self.playback_position_ticks = int(updated_playback) * 1000
|
||||
self.played_to_completion = True
|
||||
self.save(
|
||||
update_fields=[
|
||||
"playback_position",
|
||||
"playback_position_ticks",
|
||||
"played_to_completion",
|
||||
"video_game_minutes_played",
|
||||
"long_play_seconds",
|
||||
]
|
||||
)
|
||||
return
|
||||
|
||||
@ -6,8 +6,9 @@ register = template.Library()
|
||||
@register.filter
|
||||
def natural_duration(value):
|
||||
value = int(value)
|
||||
hours = int(value / 60)
|
||||
minutes = value - (hours * 60)
|
||||
total_minutes = int(value / 60)
|
||||
hours = int(total_minutes / 60)
|
||||
minutes = total_minutes - (hours * 60)
|
||||
value_str = ""
|
||||
if minutes:
|
||||
value_str = f"{minutes} minutes"
|
||||
|
||||
Reference in New Issue
Block a user