[Pythonmac-SIG] Creator, type and other means of file detection
Bill Janssen
janssen at parc.com
Sat Nov 29 20:15:45 CET 2008
I think the modern Mac equivalent goes something like this:
def uti_for_file(path):
import os
from AppKit import NSWorkspace
uti, err = NSWorkspace.sharedWorkspace().typeOfFile_error_(
os.path.realpath(path), None)
if err:
raise Exception(unicode(err))
else:
return uti
Bill
Henning Hraban Ramm <hraban at fiee.net> wrote:
> I know the MacOS module is deprecated, and now I know at least one
> detail of "why":
>
> If I use MacOS.GetCreatorAndType(filename) on my Intel machine, I get
> for an EPS:
> ('09HF', 'FSPE')
>
> That should read ('FH09', 'EPSF').
> I didn't knew endian-ness affects the order of strings.
> Very funny! ;-)
>
>
> I'm trying once again to write a tool to detect the type of a file -
> my colleagues don't know what to do if a file lacks an extension or
> has a wrong one.
>
> Unfortunately the "file" command and its Python counterparts don't
> know enough and the right types, e.g. for them a XPress or InDesign
> document is just "data".
>
> (There are two different approaches of "magic.py": Jason Petrone's,
> updated by Gabriel Wicke, uses its own, pythonized list of magic
> numbers; the other by Thomas Mangin reads the usual Unix/Linux magic
> files and thus acts like the "file" command. I guess the first is much
> faster, but the second is more versatile.)
>
>
> Anyway, the traditional MacOS type and creator would be a nice
> addition. The MacOS module is deprecated. I could ask the Finder via
> appscript, but I wonder if there's a more direct way - I'm surprised
> the mactypes module's Alias and File classes don't know type and
> creator.
>
> Any ideas on that?
>
>
> Greetlings from Lake Constance!
> Hraban
> ---
> http://www.fiee.net
> https://www.cacert.org (I'm an assurer)
>
>
>
>
> _______________________________________________
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
More information about the Pythonmac-SIG
mailing list