[scrobbles] Allow junk in the scrobble log
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
|
import inspect
|
||||||
import json
|
import json
|
||||||
from dataclasses import dataclass, asdict
|
from dataclasses import asdict, dataclass
|
||||||
|
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
@ -23,6 +23,16 @@ class JSONMetadata(object):
|
|||||||
def json(self):
|
def json(self):
|
||||||
return json.dumps(self.asdict)
|
return json.dumps(self.asdict)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_dict(cls, env):
|
||||||
|
return cls(
|
||||||
|
**{
|
||||||
|
k: v
|
||||||
|
for k, v in env.items()
|
||||||
|
if k in inspect.signature(cls).parameters
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class BoardGameScore(JSONMetadata):
|
class BoardGameScore(JSONMetadata):
|
||||||
|
|||||||
@ -622,7 +622,7 @@ class Scrobble(TimeStampedModel):
|
|||||||
)
|
)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
return metadata_cls(**self.log)
|
return metadata_cls.from_dict(self.log)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def tzinfo(self):
|
def tzinfo(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user