11import json
22from datetime import datetime
3- from http .cookies import BaseCookie
43
54from pydantic import BaseModel
65
@@ -14,24 +13,28 @@ class User(BaseModel):
1413
1514class UserData :
1615 uid : str
17- plugin_cookies : dict [str , BaseCookie [str ]]
16+ plugin_cookies : dict [str , dict [str , str ]] | None
1817
19- def __init__ (self , uid : str , plugin_cookies : dict [str , BaseCookie [str ]]):
18+ def __init__ (
19+ self , uid : str , plugin_cookies : dict [str , dict [str , str ]] | None = None
20+ ) -> None :
2021 self .uid = uid
2122 self .plugin_cookies = plugin_cookies
2223
23- def set_src_cookies (self , src : str , cookies : BaseCookie [str ]) -> None :
24- self .plugin_cookies [src ] = cookies
24+ def set_src_cookies (self , src : str , cookies : dict [str , str | None ]) -> None :
25+ if self .plugin_cookies is None :
26+ self .plugin_cookies = dict ()
27+ _cookies = {k : v for k , v in cookies .items () if v is not None }
28+ self .plugin_cookies [src ] = _cookies
2529
26- def get_src_cookies (self , src : str ) -> BaseCookie [str ]:
27- if src in self .plugin_cookies :
28- return self .plugin_cookies [src ]
29- else :
30- return BaseCookie [str ]()
30+ def get_src_cookies (self , src : str ) -> dict [str , str ]:
31+ return self .plugin_cookies .get (src , dict ()) if self .plugin_cookies else dict ()
3132
3233 def __str__ (self ):
33- return json .dumps (
34- {k : v .output (header = "" ).strip () for k , v in self .plugin_cookies .items ()}
34+ return (
35+ json .dumps (self .plugin_cookies , ensure_ascii = False )
36+ if self .plugin_cookies
37+ else "{}"
3538 )
3639
3740
0 commit comments