pygnomevfs get_local_path_from_uri replacement

2012-12-22 Thread Daniel Fetchinson
Hi folks, I realize this is slightly off topic and maybe belongs to a
gnome email list but it's nevertheless python:

I use an old python program that was written for gnome 2 and gtk 2 and
uses the function get_local_path_from_uri. More specifically it uses
gnomevfs.get_local_path_from_uri.

Now with gnome 3 the module pygnomevfs does not exist anymore and
after checking the source for pygnomevfs it turns out it's written in
C using all the header files and stuff from gnome 2. So I can't just
lift it from the source. I was hoping it's pure python in which case I
could have simply lifted it.

Does anyone know what a good replacement for get_local_path_from_uri
is? Is there a gtk/gnome/etc related python package that contains it
which would work with gnome 3? Or a totally gnome-independent python
implementation?

Cheers,
Daniel


-- 
Psss, psss, put it down! - http://www.cafepress.com/putitdown
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: pygnomevfs get_local_path_from_uri replacement

2012-12-22 Thread Westley Martínez
On Sat, Dec 22, 2012 at 09:57:11AM +0100, Daniel Fetchinson wrote:
 Hi folks, I realize this is slightly off topic and maybe belongs to a
 gnome email list but it's nevertheless python:
 
 I use an old python program that was written for gnome 2 and gtk 2 and
 uses the function get_local_path_from_uri. More specifically it uses
 gnomevfs.get_local_path_from_uri.
 
 Now with gnome 3 the module pygnomevfs does not exist anymore and
 after checking the source for pygnomevfs it turns out it's written in
 C using all the header files and stuff from gnome 2. So I can't just
 lift it from the source. I was hoping it's pure python in which case I
 could have simply lifted it.
 
 Does anyone know what a good replacement for get_local_path_from_uri
 is? Is there a gtk/gnome/etc related python package that contains it
 which would work with gnome 3? Or a totally gnome-independent python
 implementation?
 
 Cheers,
 Daniel
 
 

I'd reckon you'd get better info by asking the people at GTK or GNOME.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: pygnomevfs get_local_path_from_uri replacement

2012-12-22 Thread Chris Rebert
On Sat, Dec 22, 2012 at 12:57 AM, Daniel Fetchinson
fetchin...@googlemail.com wrote:
 Hi folks, I realize this is slightly off topic and maybe belongs to a
 gnome email list but it's nevertheless python:

 I use an old python program that was written for gnome 2 and gtk 2 and
 uses the function get_local_path_from_uri. More specifically it uses
 gnomevfs.get_local_path_from_uri.

 Now with gnome 3 the module pygnomevfs does not exist anymore and
 after checking the source for pygnomevfs it turns out it's written in
 C using all the header files and stuff from gnome 2. So I can't just
 lift it from the source. I was hoping it's pure python in which case I
 could have simply lifted it.

 Does anyone know what a good replacement for get_local_path_from_uri
 is? Is there a gtk/gnome/etc related python package that contains it
 which would work with gnome 3? Or a totally gnome-independent python
 implementation?

The commit https://mail.gnome.org/archives/commits-list/2009-May/msg05733.html
suggests that get_local_path_from_uri() might have been defined as
(taking slight liberties):
gnome_vfs_unescape_string(remove_host_from_uri(uri))
Assuming these functions do the obvious things implied by their
names (you can probably chase down the Gnome VFS source or docs to
check; I don't care enough to bother), given a general URI
protocol://host/path, it presumably returns either
protocol:///path (`protocol:` likely being file: in this case) or
/path, in either case with `path` having been un-percent-escaped.
The latter transform can be done using
http://docs.python.org/2/library/urllib.html#urllib.unquote

Alternately, you might call the Gnome VFS C API directly via
http://docs.python.org/2/library/ctypes.html

Merry Solstice,
Chris
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: pygnomevfs get_local_path_from_uri replacement

2012-12-22 Thread Daniel Fetchinson
 Hi folks, I realize this is slightly off topic and maybe belongs to a
 gnome email list but it's nevertheless python:

 I use an old python program that was written for gnome 2 and gtk 2 and
 uses the function get_local_path_from_uri. More specifically it uses
 gnomevfs.get_local_path_from_uri.

 Now with gnome 3 the module pygnomevfs does not exist anymore and
 after checking the source for pygnomevfs it turns out it's written in
 C using all the header files and stuff from gnome 2. So I can't just
 lift it from the source. I was hoping it's pure python in which case I
 could have simply lifted it.

 Does anyone know what a good replacement for get_local_path_from_uri
 is? Is there a gtk/gnome/etc related python package that contains it
 which would work with gnome 3? Or a totally gnome-independent python
 implementation?

 The commit
 https://mail.gnome.org/archives/commits-list/2009-May/msg05733.html
 suggests that get_local_path_from_uri() might have been defined as
 (taking slight liberties):
 gnome_vfs_unescape_string(remove_host_from_uri(uri))
 Assuming these functions do the obvious things implied by their
 names (you can probably chase down the Gnome VFS source or docs to
 check; I don't care enough to bother), given a general URI
 protocol://host/path, it presumably returns either
 protocol:///path (`protocol:` likely being file: in this case) or
 /path, in either case with `path` having been un-percent-escaped.
 The latter transform can be done using
 http://docs.python.org/2/library/urllib.html#urllib.unquote

 Alternately, you might call the Gnome VFS C API directly via
 http://docs.python.org/2/library/ctypes.html

Thanks, ctypes is actually a great idea, I should have thought about that.
In the meantime I use the simple function

def get_local_path_from_uri( uri ):

return uri.split( '//' )[1]


and it seems to work. In the program the function is always called in
a try: except: block so if anything is not okay it will get caught, I
don't have to catch exceptions inside the function.

Cheers,
Daniel



-- 
Psss, psss, put it down! - http://www.cafepress.com/putitdown
-- 
http://mail.python.org/mailman/listinfo/python-list