I'm working on an update to my Belchertown skin which will really add 2 skins to SKIN_ROOT. One skin is the HTML files, and the other is a highcharts fork. Certain users are having a high latency running the skin as it is today, so splitting into 2 offers a faster generation time since highcharts has a lot database queries, and a separate skin offers less SLE loops.
During my testing I found that the --uninstall function does not remove multiple SKIN_ROOT directories that the install.py placed there. I found in weecfg/extensions.py, the uninstaller command is only removing those directories with the most common root - which does not apply to all SKIN_ROOT directories since there are multiple roots. I made a small change to the extensions.py (diff below) which handles the multiple root directory removal. Instead of finding the commonprefix, I just loop through the directory_list, then loop through each item for removal. root@setuppy:~# diff extension.py extension_updated.py 402,407c402,407 < # Start by finding the directory closest to root < most_root = os.path.commonprefix(directory_list) < # Now delete the directories under it, from the bottom up. < for dirpath, _, _ in os.walk(most_root, topdown=False): < if dirpath in directory_list: < self.delete_directory(dirpath) --- > for dir in directory_list: > # Loop through each directory listing > for dirpath, _, _ in os.walk(dir, topdown=False): > # Delete the directory > if dirpath in directory_list: > self.delete_directory(dirpath) I wanted to raise it here to see if this is a valid change and discuss. Happy to create an issue and PR if so.