Thread: [Pyobjc-dev] PyDocURLProtocol usage?
Brought to you by:
ronaldoussoren
From: Han-Wen N. <ha...@xs...> - 2005-05-19 00:24:48
|
hi there, I hope I'm writing to the right list. I'm trying to figure out how to write a custom protocol handler for cocoa (i.e. myprotocol://host/file/ ), preferably in Python I noticed the PyDocURLProtocol example, but I haven't been able to get it to work. Even worse, it's completely unclear to me what pydoc exactly is. I tried building the app, opening it, opening pydoc:foo in safari, but nothing happened. Any hints? -- Han-Wen Nienhuys - ha...@xs... - http://www.xs4all.nl/~hanwen |
From: Bob I. <bo...@re...> - 2005-05-19 00:59:25
|
On May 18, 2005, at 8:26 PM, Han-Wen Nienhuys wrote: > I'm trying to figure out how to write a custom protocol handler for > cocoa (i.e. myprotocol://host/file/ ), preferably in Python You can't really, unless you write a Safari plug-in. Anything else would be an external application helper and its content wouldn't be in Safari. > I noticed the PyDocURLProtocol example, but I haven't been able to > get it to work. Even worse, it's completely unclear to me what > pydoc exactly is. I tried building the app, opening it, opening > pydoc:foo in safari, but nothing happened. Try typing pydoc:///pydoc as the URL at the top of PyDocBrowser and then press return. If you can't manage that, use google or man to figure it out. The application has nothing to do with Safari; it embeds WebKit and registers a custom URL protocol. However, that URL protocol ONLY works from within that application, Mac OS X does not provide with a global way to register custom URL protocols. I suggest you take a look at the relevant Apple documentation: http://developer.apple.com/documentation/Cocoa/Conceptual/ URLLoadingSystem/index.html -bob |
From: Han-Wen N. <ha...@xs...> - 2005-05-19 07:48:37
|
Bob Ippolito wrote: >> I'm trying to figure out how to write a custom protocol handler for >> cocoa (i.e. myprotocol://host/file/ ), preferably in Python > > You can't really, unless you write a Safari plug-in. Anything else > would be an external application helper and its content wouldn't be in > Safari. that's exactly what I want, a helper. On othre platforms we use network.protocol-handler.app.myprotocol from Mozilla, but it doesn't do anything on Apple. >> I noticed the PyDocURLProtocol example, but I haven't been able to >> get it to work. Even worse, it's completely unclear to me what pydoc >> exactly is. I tried building the app, opening it, opening pydoc:foo >> in safari, but nothing happened. > > > Try typing pydoc:///pydoc as the URL at the top of PyDocBrowser and > then press return. If you can't manage that, use google or man to > figure it out. Ah, the last time I tried, it didn't do anything. I guess that there was some cache magic was peformed on reboot. > The application has nothing to do with Safari; it embeds WebKit and > registers a custom URL protocol. However, that URL protocol ONLY works > from within that application, Mac OS X does not provide with a global > way to register custom URL protocols. Is that true? This http://www.xmldatabases.org/WK/blog/1162_URL_handlers_with_PyObjC.item suggests that you have URL handlers. If I understand correctly, you can set CFBundleURLTypes, and once Launch services notices the executable it will send a GURL (GetURL) Apple event to the app. At least, that's what I gather from http://developer.apple.com/documentation/Carbon/Conceptual/LaunchServicesConcepts/index.html The problem with the other link above is that it uses AppleScript glue, and I'd rather have a solution that is written in Python completely. -- Han-Wen Nienhuys - ha...@xs... - http://www.xs4all.nl/~hanwen |
From: Bob I. <bo...@re...> - 2005-05-19 08:17:53
|
On May 19, 2005, at 3:50 AM, Han-Wen Nienhuys wrote: > Bob Ippolito wrote: > >>> I'm trying to figure out how to write a custom protocol handler >>> for cocoa (i.e. myprotocol://host/file/ ), preferably in Python >>> >> You can't really, unless you write a Safari plug-in. Anything >> else would be an external application helper and its content >> wouldn't be in Safari. >> > > that's exactly what I want, a helper. On othre platforms we use > network.protocol-handler.app.myprotocol from Mozilla, but it > doesn't do anything on Apple. Then you're quite confused, because this example is a URL Protocol, not a helper. We don't have an example for a helper. -bob |
From: Han-Wen N. <ha...@xs...> - 2005-05-19 08:30:14
|
Bob Ippolito wrote: >> that's exactly what I want, a helper. On othre platforms we use >> network.protocol-handler.app.myprotocol from Mozilla, but it doesn't >> do anything on Apple. > > > Then you're quite confused, because this example is a URL Protocol, not > a helper. We don't have an example for a helper. ok, then I guess I should contribute an example, once I have it working? -- Han-Wen Nienhuys - ha...@xs... - http://www.xs4all.nl/~hanwen |