lebauce / quodlibet

Automatically exported from code.google.com/p/quodlibet
1 stars 0 forks source link

Enhancement: plugin datastore #150

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Plugins should be able to store data if they need to, and they shouldn't
have to use the ugly hack of creating new files in USERDIR (especially
considering Issue #138). I propose quodlibet.plugins.data, which will have
these properties:

* Subclass of dict
* Stored as a pickle, in e.g. USERDIR/plugindata
* Singleton (like config) which gets loaded at startup
* Saved every 15 min, on quit, and by explicit request (like songs)
* Key naming and management left to plugins (like in config)
* Unpickling must work in pure Python (i.e. only native datatypes)

This last one could be extended to "Python, after running 'import
quodlibet'", but I want to avoid version dependence. If a plugin makes a
backwards-incompatible change, it should never break QL, and vice-versa.

Original issue reported on code.google.com by steven.strobe.cc@gmail.com on 15 Mar 2009 at 12:46

GoogleCodeExporter commented 9 years ago

Original comment by steven.strobe.cc@gmail.com on 15 Mar 2009 at 1:17

GoogleCodeExporter commented 9 years ago

Original comment by steven.strobe.cc@gmail.com on 18 Jun 2009 at 8:22

GoogleCodeExporter commented 9 years ago
I brought this up on the ML some time ago and was duly smacked for trying to
overthink things. Let plugins figure out how to do this themselves.

Original comment by steven.strobe.cc@gmail.com on 31 Jan 2010 at 5:19