Skip to content

Commit 9a2652e

Browse files
committed
Remove patch version number from error link
1 parent f38bea6 commit 9a2652e

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

src/errors/validation_exception.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,24 @@ fn include_url_env(py: Python) -> bool {
109109
*URL_ENV_VAR.get_or_init(py, _get_include_url_env)
110110
}
111111

112+
// static FORMATED_URL: GILOnceCell<String> = GILOnceCell::new();
113+
114+
112115
static URL_PREFIX: GILOnceCell<String> = GILOnceCell::new();
113116

117+
fn get_formated_url(py: Python) -> &'static str {
118+
let pydantic_version = match get_pydantic_version(py) {
119+
// include major and minor version only
120+
Some(value) => value.split('.').collect::<Vec<&str>>()[..2].join("."),
121+
None => "latest".to_string(),
122+
};
123+
URL_PREFIX.get_or_init(py, || format!("https://errors.pydantic.dev/{pydantic_version}/v/"))
124+
}
125+
126+
114127
fn get_url_prefix(py: Python, include_url: bool) -> Option<&str> {
115128
if include_url {
116-
Some(URL_PREFIX.get_or_init(py, || {
117-
format!(
118-
"https://errors.pydantic.dev/{}/v/",
119-
get_pydantic_version(py).unwrap_or("latest")
120-
)
121-
}))
129+
Some(get_formated_url(py))
122130
} else {
123131
None
124132
}

tests/conftest.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ def pydantic_version():
128128
try:
129129
import pydantic
130130

131-
return pydantic.__version__
131+
# include major and minor version only
132+
return '.'.join(pydantic.__version__.split('.')[:2])
132133
except ImportError:
133134
return 'latest'
134135

0 commit comments

Comments
 (0)