File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -139,8 +139,14 @@ def main() -> None:
139139 filename += ".iy"
140140
141141 if filename in existing_names :
142- print (f" ⚠️ { filename } already in plugins.json — skipping." )
143- continue
142+ existing = next (e for e in entries if e ["name" ] == filename )
143+ existing_msg_id = int (existing .get ("message_id" , 0 ))
144+ if int (msg_id ) <= existing_msg_id :
145+ print (f" ⏭ { filename } already up to date — skipping." )
146+ continue
147+ print (f" 🔄 { filename } has a newer version — overwriting…" )
148+ entries [:] = [e for e in entries if e ["name" ] != filename ]
149+ existing_names .discard (filename )
144150
145151 dest = PLUGINS_DIR / filename
146152 print (f" ⬇️ Downloading { filename } (by { author } , { msg_datetime .date ()} )…" )
@@ -171,6 +177,7 @@ def main() -> None:
171177 "name" : filename ,
172178 "description" : description ,
173179 "url" : url ,
180+ "message_id" : msg_id ,
174181 }
175182
176183 entries .insert (0 , entry )
You can’t perform that action at this time.
0 commit comments