Message167011
| Author |
ronaldoussoren |
| Recipients |
Arfrever, Hobson.Lane, Roman.Evstifeev, benjamin.peterson, cvrebert, eric.araujo, ganadist, giampaolo.rodola, larry, pitrou, r.david.murray, ronaldoussoren, rosslagerwall, smarnach, tebeka |
| Date |
2012年07月31日.16:03:32 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1343750614.61.0.0159128746572.issue3177@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
MacOSX provides functionality simular to os.startfile in the LaunchServices framework.
I've tried to prototype a startfile implementation using this framework, (see issue3177-os_startfile_macosx.txt) but I'm not too happy about it because the APIs don't actually work as expected.
In particular:
* The patch implements "open" (default), "edit", "print" and
"explore" actions.
* "open" and "explore" work fine
* "edit" does not work as I'd expect because the function used
to retrieve the default editor for a file returns the default
application that can open the file, not necessarily one that
claims to be an editor for the file-type. As an example,
'os.startfile("file.html", "edit")' starts Safari instead of
an editor.
* "print" works for some file type, but not others (depending on
whether or not the target application implements the required
AppleScript API)
* "execute" is untested, I haven't found an application yet that claims
this role.
Other notes:
* This patch links Python with the ApplicationServices framework
(which contains the LaunchServices framework)
* Because the API uses Apple's application frameworks users might get
annoying crashes when calling this function in a subprocess.
* The code attached code is a prototype, it should be correct w.r.t.
resource management, but isn't fully baked yet. One example of that
is the use of a generic RuntimeError exception to signal problems,
others are the lack of documentation and tests. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2012年07月31日 16:03:35 | ronaldoussoren | set | recipients:
+ ronaldoussoren, tebeka, pitrou, larry, giampaolo.rodola, benjamin.peterson, eric.araujo, ganadist, Arfrever, r.david.murray, cvrebert, rosslagerwall, smarnach, Roman.Evstifeev, Hobson.Lane |
| 2012年07月31日 16:03:34 | ronaldoussoren | set | messageid: <1343750614.61.0.0159128746572.issue3177@psf.upfronthosting.co.za> |
| 2012年07月31日 16:03:34 | ronaldoussoren | link | issue3177 messages |
| 2012年07月31日 16:03:33 | ronaldoussoren | create |
|