Re: [Nautilus-list] Chained URIs and archive viewers.



Hello,

Seth Nickell <snickell stanford edu> wrote:

>> As an aside, I believe KDE's KIO doesn't chain URIs, they just define new
>> top-level uris, for example tar://path/to/file.tar.gz. As much as I think
>> thats kind of lame (it doesn't solve the non-local case at all), it does
>> work :-)
>
> It seems like we need some sort of "filter" mechanism in GnomeVFS...
> Maybe GnomeVFS can designate that it has a mechanism for reading more
> from a particular mime-type / file...gnome_vfs_mime_get_filters or
> something.


What it sounds like you want is a mechanism for denoting (or working with)
`sources' and `functions'. A URI, like:

     http://www.some.dom/a/path/to/something/
     file:///home/me/my/stuff/something.txt

would be `sources'. IMO, this is a terrible notation. (For alot of
reasons that I'll leave out of this message.)

Something like untaring, or ungziping would be a function.

Why not just use a common function like notation? Something like

     gunzip( untar(http://www.some.dom/a/path/to/something/) )

(or something similar).
Or you could use `function composition' and write something like:

     (gunzip o untar)http://www.some.dom/a/path/to/something/

Where the lower case oh -- o -- is the function composition
operator. This probably looks a little nicer, and is more
compact than the previous suggestion. You could even get rid
of the spaces, and maybe decide on a format like:

     [gunzip|untar]http://www.some.dom/a/path/to/something/

Which gives you (more) `unique' form of it. (And the pipe
character -- | -- is a familiar operator for filter composition
[for those used to the command shell].)

(The beginning brace -- [ -- would let you/the program know that
we are going to be using some chain of `functions'. The ending
brace -- ] -- would let you/the program know when the chain of `function'
is finished, and what immediately follows is a URI... which is the `source'.
The pipe -- | -- is a seperator for `functions' in the `function' chain.)


In general though, working with `sources', `functions', (and
`sinks') gives you a DAG (Directed Acyclic Graph). Which this
notation does not lend itself very well to. The final suggested
notation:

     [gunzip|untar]http://www.some.dom/a/path/to/something/


lends itself well to working with one `source' and a chain of
`functions'. But that may be `good enough' for this.

See ya

     Charles Iliya Krempeaux





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]