@@ -37,16 +37,16 @@ def get(self, document: TOMLDocument) -> str:
3737 def set (self , document : TOMLDocument , version : str ) -> None :
3838 _try_get_workspace (document )["package" ]["version" ] = version
3939
40- if document .get ("workspace" ):
40+ if document .get ("workspace" ) and isinstance ( document [ "workspace" ], dict ) :
4141 # get all workspace members that have a version.workspace = true
4242 members_inheriting = _get_workspace_members (document , self ._get_encoding ())
4343
4444 # get all workspace dependencies that have a version specified and match a member inheriting
4545 workspace_deps = document ["workspace" ].get ("dependencies" , {})
4646 for dep_name , dep_value in workspace_deps .items ():
47- if isinstance (dep_value , str ) and (dep_name in members_inheriting ):
47+ if isinstance (dep_value , str ) and (dep_name in members_inheriting ):
4848 workspace_deps [dep_name ] = version
49- elif ( isinstance (dep_value , dict ) and dep_value .get ("version" , []) ):
49+ elif isinstance (dep_value , dict ) and dep_value .get ("version" , []):
5050 if dep_value .get ("path" , "" ) and dep_value .get ("package" , "" ):
5151 crate_name = dep_value ["package" ]
5252 else :
@@ -79,7 +79,9 @@ def set_lock_version(self, version: str) -> None:
7979 cargo_lock_content ["package" ][i ]["version" ] = version # type: ignore[index]
8080 break
8181 except NonExistentKey :
82- members_inheriting = _get_workspace_members (cargo_toml_content , self ._get_encoding ())
82+ members_inheriting = _get_workspace_members (
83+ cargo_toml_content , self ._get_encoding ()
84+ )
8385
8486 for i , package in enumerate (packages ):
8587 if package ["name" ] in members_inheriting :
@@ -99,7 +101,10 @@ def _try_get_workspace(document: TOMLDocument) -> dict:
99101 except NonExistentKey :
100102 return document
101103
102- def _get_workspace_members (cargo_toml_content : TOMLDocument , encoding : str | None ) -> list [str ]:
104+
105+ def _get_workspace_members (
106+ cargo_toml_content : TOMLDocument , encoding : str | None
107+ ) -> list [str ]:
103108 workspace = cargo_toml_content .get ("workspace" , {})
104109 if TYPE_CHECKING :
105110 assert isinstance (workspace , dict )
@@ -110,15 +115,14 @@ def _get_workspace_members(cargo_toml_content: TOMLDocument, encoding: str | Non
110115 for member in workspace_members :
111116 for path in glob .glob (member , recursive = True ):
112117 if any (
113- fnmatch .fnmatch (path , pattern )
114- for pattern in excluded_workspace_members
118+ fnmatch .fnmatch (path , pattern ) for pattern in excluded_workspace_members
115119 ):
116120 continue
117121
118122 cargo_file = Path (path ) / "Cargo.toml"
119- package_content = parse (
120- cargo_file . read_text ( encoding = encoding )
121- ). get ( "package" , {})
123+ package_content = parse (cargo_file . read_text ( encoding = encoding )). get (
124+ "package" , {}
125+ )
122126 if TYPE_CHECKING :
123127 assert isinstance (package_content , dict )
124128 try :
@@ -131,5 +135,5 @@ def _get_workspace_members(cargo_toml_content: TOMLDocument, encoding: str | Non
131135 members_inheriting .append (package_name )
132136 except NonExistentKey :
133137 pass
134-
135- return members_inheriting
138+
139+ return members_inheriting
0 commit comments