22
33import json
44from abc import ABC , abstractmethod
5- from collections .abc import Mapping
65from pathlib import Path
7- from typing import Any , ClassVar
6+ from typing import ClassVar
87
98import tomlkit
109
@@ -56,19 +55,14 @@ class JsonProvider(FileProvider):
5655 indent : ClassVar [int ] = 2
5756
5857 def get_version (self ) -> str :
59- document = json .loads (self .file .read_text ())
60- return self .get (document )
58+ version = json .loads (self .file .read_text ())["version" ]
59+ assert isinstance (version , str )
60+ return version
6161
6262 def set_version (self , version : str ) -> None :
6363 document = json .loads (self .file .read_text ())
64- self .set (document , version )
65- self .file .write_text (json .dumps (document , indent = self .indent ) + "\n " )
66-
67- def get (self , document : Mapping [str , str ]) -> str :
68- return document ["version" ]
69-
70- def set (self , document : dict [str , Any ], version : str ) -> None :
7164 document ["version" ] = version
65+ self .file .write_text (json .dumps (document , indent = self .indent ) + "\n " )
7266
7367
7468class TomlProvider (FileProvider ):
@@ -77,16 +71,11 @@ class TomlProvider(FileProvider):
7771 """
7872
7973 def get_version (self ) -> str :
80- document = tomlkit .parse (self .file .read_text ())
81- return self .get (document )
74+ version = tomlkit .parse (self .file .read_text ())["project" ]["version" ] # type: ignore[index]
75+ assert isinstance (version , str )
76+ return version
8277
8378 def set_version (self , version : str ) -> None :
8479 document = tomlkit .parse (self .file .read_text ())
85- self .set (document , version )
86- self .file .write_text (tomlkit .dumps (document ))
87-
88- def get (self , document : tomlkit .TOMLDocument ) -> str :
89- return document ["project" ]["version" ] # type: ignore[index,return-value]
90-
91- def set (self , document : tomlkit .TOMLDocument , version : str ) -> None :
9280 document ["project" ]["version" ] = version # type: ignore[index]
81+ self .file .write_text (tomlkit .dumps (document ))
0 commit comments