Not yet, I have yet to commit my most recent changes as I wanted to do a few more tests.
I forgot to mention that I noticed this error on a vanilla 3.8.2 setup.py install method. I'll try out a packaged version and commit my changes and will let you know. On Wednesday, September 5, 2018 at 7:01:06 PM UTC-4, gjr80 wrote: > > Interesting, WeeWX-WD installs 4 skins and I have never had a case where > --uninstall has not removed them all. Pushed for time this morning but I > will sit down and have a play with this this arvo. Pat, I presume the just > use your repo as per the latest commit? > > Gary > > On Thursday, 6 September 2018 03:54:27 UTC+10, Pat O'Brien wrote: >> >> 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. >> >