Create fd.o spec audit script
Adds a no dependencies Python script and Specification file to the /scripts directory. The intention is to ease monitoring coverage of the fd.o icon name specification, and provide a CSV report telling us what was found, what is still missing, and what is included that is out of spec. I believe this can be automated to run on any PR, but this request does not do that, as I don't think it's actually necessary to run that often.
This is very very nice! Just a few notes after testing. In the icon spec txt list:
preferences-helpshould besystem-helpemblem-sychronizedshould beemblem-synchronizedobject-rotate-leftis missing (belowobject-flip-vertical)object-rotate-rightis missing (aboveprocess-stop)
Also, it doesn't seem to list all missing icons. This might be the case when the symbolic version exists? For example, emblem-system is missing but isn't listed as missing in the report. However, emblem-system-symbolic does exist, so maybe it counts that? If that is the case, it probably shouldn't since symbolic icons aren't part of the spec. (unless something has changed since I last checked. I know hicolor recognizes symbolic folders, but as far as I know the spec doesn't support it.)
Maybe helpful, maybe not...
I did a script similar to this a while back here (as fdo-spec-name-check.py). Yours is much nicer with the report, listing existing matching icons, and just coded way better (I stink at code!). But it might be worth running them both against the same themes to see if they come up with the same results.
Also when trying that "fd.o-only theme" experiment, I did add more fd.o icons to elementary-xfce (here) but I don't remember if I submitted all of them back upstream. I wasn't sure that there was interest (or if they were up to par honestly). But if being fd.o-complete is something that we're interested in for elementary icons, I can go back and check. Of course anyone is welcome to check and pull from it (if it can prevent any doubling of work).
I guess that's what I get for hand-writing the spec file...
Symbolic files were being counted when calculating results for the report, but I've now changed it to not use them. They aren't shown in out-of spec, though, as I figure they are common practice enough that rules-lawyering them out would be pointless and make the report larger than it needs to.
I feel like this is a tool which could benefit the larger Linux community Something like we could go to them and go "hey, elementary got an audit script", if it isnt something gnome kde and else already have
Now has support for optionally pulling the specification directly from FreeDesktop.org, if bs4 and requests are installed. If they can't be found, it just falls back to using the specified file. This also means the ISO alpha2 list can be dynamically constructed.