ephraim / lcurse

Python script to have a "curse" compatible client for linux
The Unlicense
51 stars 24 forks source link

Fix for #9. Able to properly remove addons #30

Closed shinnova closed 7 years ago

shinnova commented 7 years ago

So far InFlight is the only addon I've encountered that doesn't get all folders removed, because of the fact the addon gives you two folders with different titles in the .toc files: ## Title: InFlight ## Title: InFlight_Load I am unsure of how to resolve this without adding exceptions to the code.

fosspill commented 7 years ago

A possibility would be to search for other addons that has the same title included.

Examples:

Removing HandyNotes

Found X addons that are seeminly related. <Keep> / <Delete>
List of addons (HandyNotes_Treasures would for instance match)
Removing InFlight

Found X addons that are seeminly related. <Keep> / <Delete>
List of addons (InFlight_load would for instance match)
fosspill commented 7 years ago

@ephraim might be better to comment on the up-to-date pull :) She already changed parts of it.

ephraim commented 7 years ago

@oleerik yeah! .... Seconds later I saw the updated one :)

shinnova commented 7 years ago

Or create a txt file with all file-paths in it, when installing it via lcurse. So you can remove these addons you have updated one via lcurse. @ephraim

We could either do this, or use @oleerik 's suggestion, I believe. Personally I am leaning towards the latter as this way would also work for imported addons without any extra work. Any thoughts @ephraim ?

ephraim commented 7 years ago

IMHO looking for similar Addons would be guessing so not good for removing. If i remember correctly the toc Files have a Project id or something... Perhaps thats equal over different Addons from One Addons Project....

fosspill commented 7 years ago

Sadly it seems like not all addons have a project ID. But as long as we prompt the user before removing anything (with checkboxes for instance) I don't really see an issue as long as we remove the possibility of easy mistakes from the user..