[feat] Support for XBMC logs

Forums: 

I downloaded BleachBit (for Linux) because my drive was nearly full, and I was pleasantly surprised. However, BleachBit 'only' recovered a gigabyte or so.

When manually combing my /home/, I found that the logfiles:
~/.xbmc/temp/xbmc.old
~/.xbmc/temp/xbmc.old.log
together were a whopping 41 GIGABYTES.

Also, I had many many files in /home/ called ~/xbmc_crashlog-_.log

Of course, the verbosity varies between version and build, but the annoying buildup of crashlogs is something that seems steady throughout different versions. ;)

Could XBMC be added to BleachBit? This would be very helpful, especially for people who run XBMC on a daily basis on their PC, HTPC or MC.

There's also an XBMC for Windows, but I don't know where Windows keeps those files, I run Linux.

Maybe the whole directory ~/.xbmc/temp is an interesting target for throwing away, but I am not sure what this impacts. I can imagine certain plugins like ~/.xbmc/temp/cookies.dat, but I am not sure how XBMC deals with that. (Thinking about plugins like Youtube where you can be logged in - maybe keeping cookies makes those plugins faster.)

Would you mind testing the existing XBMC cleaner in the CleanerML repository on GitHub? (There are some basic installation instructions here.) Let me know how it goes.

---
Andrew, lead developer

Cleaners, ah, nice idea! I didn't know these existed.

Some comments, typed fast, hope it makes sense:

First:

In this dialog: "These cleaner definitions are new or have changed.", cleaners are mentioned twice for each cleaner.
So I marked a bunch for removal, and BleachBit crashed.

PythonArgs: ['/usr/bin/bleachbit']
Traceback:
Traceback (most recent call last):
File "/usr/bin/bleachbit", line 48, in
gui = bleachbit.GUI.GUI()
File "/usr/share/bleachbit/bleachbit/GUI.py", line 777, in __init__
RecognizeCleanerML.RecognizeCleanerML()
File "/usr/share/bleachbit/bleachbit/RecognizeCleanerML.py", line 146, in __init__
self.__scan()
File "/usr/share/bleachbit/bleachbit/RecognizeCleanerML.py", line 171, in __scan
cleaner_change_dialog(changes, self.parent_window)
File "/usr/share/bleachbit/bleachbit/RecognizeCleanerML.py", line 124, in cleaner_change_dialog
os.remove(path)
OSError: [Errno 2] No such file or directory: '/home/user/.config/bleachbit/cleaners/adanaxis.xml'

Turns out, because each cleaner is mentioned twice, and I marked all for deletion, every second one will crash. Suggestion:

1) Mention all cleaners once only.
2) If file doesn't exist, catch the error and gracefully continue.

Second:

XBMC cleaner seems to work fine. But A separate option for deleting temp files (delete everything except cookies.dat) and deleting cookies (delete only cookies.dat) will be beneficial for certain plugins that throw messages otherwise.

Third:

Not sure if possible, but you might wanna merge the Zsh cleaner with the (default) Bash cleaner? One day you might end up with history cleaners for bash, ash, zsh, sh, etc. I have .history and .bash_history.

PS - If you've ever had your computer 'hacked', you'll find that syslogs.xml is a very scary cleaner. :P