mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-07 08:26:53 +08:00
fix parse_json_fields
This commit is contained in:
@@ -69,11 +69,13 @@ class Subscribe(BaseModel):
|
|||||||
@validator('sites', pre=True)
|
@validator('sites', pre=True)
|
||||||
def parse_json_fields(cls, value):
|
def parse_json_fields(cls, value):
|
||||||
if value:
|
if value:
|
||||||
try:
|
if isinstance(value, str):
|
||||||
return json.loads(value)
|
try:
|
||||||
except json.JSONDecodeError:
|
return json.loads(value)
|
||||||
raise ValueError(f"Invalid JSON string: {value}")
|
except json.JSONDecodeError:
|
||||||
return {}
|
return []
|
||||||
|
return value
|
||||||
|
return []
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|||||||
+6
-4
@@ -26,10 +26,12 @@ class UserBase(BaseModel):
|
|||||||
@validator('permissions', 'settings', pre=True)
|
@validator('permissions', 'settings', pre=True)
|
||||||
def parse_json_fields(cls, value):
|
def parse_json_fields(cls, value):
|
||||||
if value:
|
if value:
|
||||||
try:
|
if isinstance(value, str):
|
||||||
return json.loads(value)
|
try:
|
||||||
except json.JSONDecodeError:
|
return json.loads(value)
|
||||||
raise ValueError(f"Invalid JSON string: {value}")
|
except json.JSONDecodeError:
|
||||||
|
return {}
|
||||||
|
return value
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|||||||
Reference in New Issue
Block a user