Thread: [Pyobjc-dev] file path given bundle identifier
Brought to you by:
ronaldoussoren
From: <yt...@em...> - 2005-07-26 06:24:05
|
I'd like to determine a file path for something given a bundle identifier. I've adapted the LaunchServices.py=20 script found in Examples/AppKit/PyObjCLauncher/ so that I=20 can use LSFindApplicationForInfo, and FSGetCatalogInfo on=20 one of the results and it seems to work ok. I was wondering if there was an easier or alternative recommended way to achieve the same end. --=20 =20=20 yt...@em... --=20 http://www.fastmail.fm - And now for something completely different=85 |
From: Bob I. <bo...@re...> - 2005-07-26 06:28:45
|
On Jul 25, 2005, at 8:23 PM, yt...@em... wrote: > I'd like to determine a file path for something given > a bundle identifier. I've adapted the LaunchServices.py > script found in Examples/AppKit/PyObjCLauncher/ so that I > can use LSFindApplicationForInfo, and FSGetCatalogInfo on > one of the results and it seems to work ok. > > I was wondering if there was an easier or alternative > recommended way to achieve the same end. That's the way to do it... You shouldn't need FSGetCatalogInfo though, you can get Carbon.File.FSRef back from that code and just use as_pathname(), but all the APIs also work with NSURL, so you could get the path that way instead. Doesn't make a whole lot of difference. -bob |
From: <yt...@em...> - 2005-07-26 06:38:19
|
On Mon, 25 Jul 2005 20:28:37 -1000, "Bob Ippolito" <bo...@re...> said: > On Jul 25, 2005, at 8:23 PM, yt...@em... wrote: > > > I'd like to determine a file path for something given > > a bundle identifier. I've adapted the LaunchServices.py > > script found in Examples/AppKit/PyObjCLauncher/ so that I > > can use LSFindApplicationForInfo, and FSGetCatalogInfo on > > one of the results and it seems to work ok. > > > > I was wondering if there was an easier or alternative > > recommended way to achieve the same end. > > That's the way to do it... You shouldn't need FSGetCatalogInfo > though, you can get Carbon.File.FSRef back from that code and just > use as_pathname(), Ah, that's simpler. Thanks for the tip. > but all the APIs also work with NSURL, so you could get the path > that way instead. Doesn't make a whole lot of difference. Hmm, I'm not sure I follow you -- I'm looking at docs for NSURL at Apple, but I'm not picking up anything relevant. Would you mind elaborating or pointing me at some document from which I might understand better? -- yt...@em... -- http://www.fastmail.fm - Email service worth paying for. Try it for free |
From: Bob I. <bo...@re...> - 2005-07-26 12:28:01
|
On Jul 25, 2005, at 8:38 PM, yt...@em... wrote: > > On Mon, 25 Jul 2005 20:28:37 -1000, "Bob Ippolito" <bo...@re...> > said: > >> On Jul 25, 2005, at 8:23 PM, yt...@em... wrote: >> >> >>> I'd like to determine a file path for something given >>> a bundle identifier. I've adapted the LaunchServices.py >>> script found in Examples/AppKit/PyObjCLauncher/ so that I >>> can use LSFindApplicationForInfo, and FSGetCatalogInfo on >>> one of the results and it seems to work ok. >>> >>> I was wondering if there was an easier or alternative >>> recommended way to achieve the same end. >>> >> >> That's the way to do it... You shouldn't need FSGetCatalogInfo >> though, you can get Carbon.File.FSRef back from that code and just >> use as_pathname(), >> > > Ah, that's simpler. Thanks for the tip. > > >> but all the APIs also work with NSURL, so you could get the path >> that way instead. Doesn't make a whole lot of difference. >> > > Hmm, I'm not sure I follow you -- I'm looking at docs for NSURL > at Apple, but I'm not picking up anything relevant. Would you mind > elaborating or pointing me at some document from which I might > understand better? I should've stated this differently. All of the LaunchServices APIs that spew FSRef also spew CFURL, which are toll-free bridged with NSURL. -bob |
From: <bo...@ma...> - 2005-08-23 19:37:20
|
I found that using the following technique i can debug PyObjC =20 programs using eclipse (and pydev). 1. Replace the main application executable with a copy of /usr/bin/=20 python. 2. Set PyDev's python interpreter to the bundles main executable =20 (which is a copy of /usr/bin/python). I've added the following simple extension to py2app built executables =20= to support this kind of debugging with PyDev: if (getenv ("PYOBJC_LAUNCH_PYTHON_INTERPRETER")) { return execve ("/usr/bin/python", argv, envp); } =3D=3D=3D This way i can create a build command in eclipse like: ${build_project:setup.py} py2app --alias --dist-dir=3DDebug I also create a run/debug configuration: Main: Interpreter: <pathtoproject>/Debug/<appname>.app/Contents/MacOS/=20 <appname> Location: <pathtoproject>/<mainpy>.py Base directory: <pathtoproject>/ Environment: PYOBJC_LAUNCH_PYTHON_INTERPRETER=3DYES This way after editing source files, i just pressing debug/run. And i =20= can run/debug the app with latest sources very quickly. Regards, Mikl=F3s |