|
@@ -554,7 +554,7 @@ class Scrobble(TimeStampedModel):
|
|
long_play_seconds = models.BigIntegerField(**BNULL)
|
|
long_play_seconds = models.BigIntegerField(**BNULL)
|
|
long_play_complete = models.BooleanField(**BNULL)
|
|
long_play_complete = models.BooleanField(**BNULL)
|
|
|
|
|
|
- def save(self, push_media=True, *args, **kwargs):
|
|
|
|
|
|
+ def save(self, *args, **kwargs):
|
|
if not self.uuid:
|
|
if not self.uuid:
|
|
self.uuid = uuid4()
|
|
self.uuid = uuid4()
|
|
|
|
|
|
@@ -569,11 +569,12 @@ class Scrobble(TimeStampedModel):
|
|
self.timestamp = self.timestamp.replace(microsecond=0)
|
|
self.timestamp = self.timestamp.replace(microsecond=0)
|
|
self.media_type = self.MediaType(self.media_obj.__class__.__name__)
|
|
self.media_type = self.MediaType(self.media_obj.__class__.__name__)
|
|
|
|
|
|
- pushable_media = (
|
|
|
|
- hasattr(self.media_obj, "push_to_archivebox")
|
|
|
|
- and callable(self.media_obj.push_to_archivebox)
|
|
|
|
- and push_media
|
|
|
|
- )
|
|
|
|
|
|
+ return super(Scrobble, self).save(*args, **kwargs)
|
|
|
|
+
|
|
|
|
+ def push_to_archivebox(self):
|
|
|
|
+ pushable_media = hasattr(
|
|
|
|
+ self.media_obj, "push_to_archivebox"
|
|
|
|
+ ) and callable(self.media_obj.push_to_archivebox)
|
|
|
|
|
|
if pushable_media and self.user.profile.archivebox_url:
|
|
if pushable_media and self.user.profile.archivebox_url:
|
|
try:
|
|
try:
|
|
@@ -591,8 +592,6 @@ class Scrobble(TimeStampedModel):
|
|
},
|
|
},
|
|
)
|
|
)
|
|
|
|
|
|
- return super(Scrobble, self).save(*args, **kwargs)
|
|
|
|
-
|
|
|
|
@property
|
|
@property
|
|
def tzinfo(self):
|
|
def tzinfo(self):
|
|
return pytz.timezone(self.timezone)
|
|
return pytz.timezone(self.timezone)
|
|
@@ -913,6 +912,7 @@ class Scrobble(TimeStampedModel):
|
|
"source": source,
|
|
"source": source,
|
|
},
|
|
},
|
|
)
|
|
)
|
|
|
|
+
|
|
return cls.create(scrobble_data)
|
|
return cls.create(scrobble_data)
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|