File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- import tomllib
21from collections import defaultdict
32from pathlib import Path
43from typing import DefaultDict
54
65import yaml # type: ignore
7- from pydantic import BaseModel , validator
8- from semver import VersionInfo
6+ from pydantic import BaseModel
97
108from changelogger .conf import git
119from changelogger .conf .defaults import (
@@ -75,29 +73,9 @@ def as_versioned_files(self) -> list[VersionedFile]:
7573 ]
7674
7775
78- class ProjectMetadata (BaseModel ):
79- version : VersionInfo
80- description : str
81-
82- class Config :
83- arbitrary_types_allowed = True
84-
85- @validator ("version" , pre = True )
86- def to_version_info (cls , v : str ) -> VersionInfo :
87- return VersionInfo .parse (v )
88-
89- @classmethod
90- def build (cls ) -> "ProjectMetadata" :
91- metadata = tomllib .loads (
92- Path ("pyproject.toml" ).read_text (),
93- )
94- return cls (** metadata ["tool" ]["poetry" ])
95-
96-
9776class ChangeloggerConfig (BaseModel ):
9877 changelog : Changelog = Changelog ()
9978 versioned_files : list [VersionedFile ] = []
100- metadata : ProjectMetadata = ProjectMetadata .build ()
10179
10280 @classmethod
10381 def from_config_or_default (cls ) -> "ChangeloggerConfig" :
You can’t perform that action at this time.
0 commit comments