On Thu, Mar 12, 2009 at 3:20 PM, Ville M. Vainio <[email protected]> wrote:
>
> Many plugins will want to store transient data, i.e. data that should
> be persistent for local user but should not be put to .leo file (which
> annoys other users and causes unnecessary diffs).
>
> Yes, I'm talking about expanded node annotations and frame positions.
>
> I'm also talking about "interesting nodes" database, and other plugin
> stuff that can make a candidate for uAs (but of the kind you do not
> want in the leo file).
>
> The technology I'm proposing is 'pickleshare' (yeah, I wrote it ;-).
> It's used in ipython to store its persistent data (bookmarks, %store'd
> variables like macros, aliases...).
>
> pickleshare is like 'shelve' module, but works for concurrent
> processes (so it doesn't break when multiple leo instances are
> accessing it concurrently). Like the name suggests, it stores pickles
> with dict-like access. In ipython, the global pickleshare database is
> available as _ip.db, if you want to play with it interactively. The
> pypi page has a short example:
>
> http://pypi.python.org/pypi/pickleshare
>
> It's just a simple module in single file, so as a dependency it's
> pretty harmless (unlike zodb) and can be put to leo extensions dir. I
> think they are planning to provide an sqlite implementation of shelve
> interface, but that's not there yet (perhaps only for python3?), but
> for leo's concurrent load (it's pretty much a single-user system ;-)
> pickleshare will definitely by "scalable" enough.
>
> The interface for leo would be pretty simple:
>
> c.db['interest_scores'] = [12,11111]
> mylist = c.db['interest_scores']
> mylist.append('foobar')
> c.db['interest_scores'] = mylist
>
> c.db['myplugin/foo'] = { 1111 : 'hello' }
>
> This would manipulate the per-file database (stores under
> ~/.leo/path_hash_value).

I would want to move it to the working tree containing my .leo
and source files.

 Conceivable would be also a global database
> under g.db (for storing e.g. recent files, some global settings).
>
> Note that these settings, like shadow files, would not be meant to be
> shared with others at all. They can also be useful as caches.
>

c.db is a general-purpose persistent dictionary, right?
useful for settings, but available for any kind of data storage?

> I would do all the work for making this available, of course.
>
> --
> Ville M. Vainio
> http://tinyurl.com/vainio
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to