Skip to content

Commit e1ff572

Browse files
he0119NCBM
andauthored
Fix: 修复未妥善处理 Pydantic v1 兼容导致文档中无法加载 Python 模块的问题 (#179)
* Fix: 修复文档中无法加载 Python 模块的问题 * 🐛 fix compatibility issue of serializing datetime --------- Co-authored-by: worldmozara <[email protected]>
1 parent e26d0db commit e1ff572

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

nb_cli/config/model.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import operator
22
import functools
3+
from typing import ClassVar
34
from datetime import datetime
45

5-
from pydantic import BaseModel, field_serializer
6+
from pydantic import BaseModel
67

78
from nb_cli.compat import PYDANTIC_V2, ConfigDict
89

@@ -24,9 +25,17 @@ class PackageInfo(SimpleInfo):
2425
time: datetime
2526
version: str
2627

27-
@field_serializer("time")
28-
def time_serializer(self, dt: datetime):
29-
return dt.isoformat()
28+
if PYDANTIC_V2: # pragma: pydantic-v2
29+
from pydantic import field_serializer
30+
31+
@field_serializer("time")
32+
def time_serializer(self, dt: datetime):
33+
return dt.isoformat()
34+
35+
else: # pragma: pydantic-v1
36+
37+
class Config(ConfigDict):
38+
json_encoders: ClassVar = {datetime: lambda v: v.isoformat()}
3039

3140
def as_dependency(
3241
self, *, extras: str | None = None, versioned: bool = True

website/src/components/RunCLI.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ function RunCLI({
1919
mockPackages={[
2020
{
2121
name: "watchfiles",
22-
version: "0.999.0",
22+
version: "1.999.0",
2323
modules: new Map([
2424
["watchfiles", "async def awatch(*args, **kwargs): ..."],
2525
]),

0 commit comments

Comments
 (0)