@@ -21,7 +21,9 @@ def lookup_spec_release(spec, releases):
2121
2222
2323def version_comparison_symbol (required , policy ):
24- if required < policy :
24+ if required is None :
25+ return "!"
26+ elif required < policy :
2527 return "<"
2628 elif required > policy :
2729 return ">"
@@ -45,6 +47,7 @@ def format_bump_table(specs, policy_versions, releases, warnings, ignored_violat
4547 ">" : Style (color = "#ff0000" , bold = True ),
4648 "=" : Style (color = "#008700" , bold = True ),
4749 "<" : Style (color = "#d78700" , bold = True ),
50+ "!" : Style (color = "#ff0000" , bold = True ),
4851 }
4952
5053 for spec in specs :
@@ -53,7 +56,13 @@ def format_bump_table(specs, policy_versions, releases, warnings, ignored_violat
5356 policy_date = policy_release .timestamp
5457
5558 required_version = spec .version
56- required_date = lookup_spec_release (spec , releases ).timestamp
59+ if required_version is None :
60+ warnings [spec .name ].append (
61+ "Unpinned dependency. Consider pinning or ignoring this dependency."
62+ )
63+ required_date = None
64+ else :
65+ required_date = lookup_spec_release (spec , releases ).timestamp
5766
5867 status = version_comparison_symbol (required_version , policy_version )
5968 if status == ">" and spec .name in ignored_violations :
@@ -63,8 +72,8 @@ def format_bump_table(specs, policy_versions, releases, warnings, ignored_violat
6372
6473 table .add_row (
6574 spec .name ,
66- str (required_version ),
67- f"{ required_date :%Y-%m-%d} " ,
75+ str (required_version ) if required_version is not None else "" ,
76+ f"{ required_date :%Y-%m-%d} " if required_date is not None else "" ,
6877 str (policy_version ),
6978 f"{ policy_date :%Y-%m-%d} " ,
7079 status ,
0 commit comments