OK. The first version is online at: http://toxicsoftware.com/_private/Python%20Metadata%20Importer.pkg.zip
The installer installs the mdimporter to /Library/Spotlight/ and then calls mdimport -r to force Spotlight to reindex all Python files. You _may_ need Xcode installed to have this work successfully (Apple defines the "public.python-script" UTI type - and it _may_ be defined in Xcode - I need to check). This version scans through .py files looking for function names and class names. It adds them to the file's 'org_python_functions' and 'org_python_classes' metadata attributes respectively You can view the python specific metadata using mdls [EMAIL PROTECTED] Python Metadata Importer$ mdls *.py myimporter.py ------------- kMDItemContentType = "public.python-script" ... other metadata not shown ... kMDItemKind = "Python Script" org_python_functions = (find, main) And find it using mdfind: [EMAIL PROTECTED] Spotlight$ mdfind "org_python_functions == 'main'" | wc -l 41 You can also use the Finder to search for functions/classes: bring up a new search window, then choose "other…" in the attribute menu, in the attribute search window look for the keyword "Python"... It is quite impressive doing a search for python function names from the finder. The importer actually uses an embedded python interpreter to parse the python files (thanks to Bob for suggest the parser module). You can see the python file inside the Resources folder of the importer. The code currently leaks a few PyObjects so I'll be working on that in the next version. Currently I do not add anything to kMDItemTextContent or any other metadata attribute but this kind of stuff should be easy to do (just a one line change to the Python code). Any feedback quite welcome. Cheers. Jon. _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig