[Pythonmac-SIG] Spotlight and Python
Larry Meyn
Larry.A.Meyn at nasa.gov
Wed May 11 04:35:43 CEST 2005
How about using pydoc <http://effbot.org/zone/pythondoc.htm> as a
starting point? It parses code and generates API documentation in XML
or HTML.
Larry
On May 10, 2005, at 7:25 PM, Jonathan Wight wrote:
> I looked at parser but discounted it too soon. After a bit of playing
> I managed to get the following code to provide lists of class names
> and function names.
>
> Thanks Bob!
>
> Jon.
>
> #!/usr/bin/python
>
> import parser
> import symbol
>
> def find(inTuple, inSymbol):
> theClasses = []
> if inTuple[0] == inSymbol:
> print 'FOUND'
> theClasses += [ inTuple[2][1] ]
> for theItem in inTuple[1:]:
> if type(theItem) == type(()):
> theClasses += find(theItem, inSymbol)
> return theClasses
>
> theSource = open('/Users/schwa/Desktop/Test.py').read()
> ast = parser.suite(theSource)
> tup = ast.totuple()
>
> print find(tup, symbol.classdef)
> print find(tup, symbol.funcdef)
>
>
>
> On May 10, 2005, at 21:52, Bob Ippolito wrote:
>
>>
>> On May 10, 2005, at 8:52 PM, Jonathan Wight wrote:
>>
>>
>>> I've made a first pass at it and have a Spotlight importer that calls
>>> a built-in Python function to import a file's metadata.
>>>
>>> I started to look at module inspect to find out how to extract
>>> information from a Python module but then realised that I'd need to
>>> import the file the importer is analysing. This would mean it will be
>>> executing arbitrary code inside that file. That's got to be a bad
>>> thing for security reasons.
>>>
>>> So instead I'm just going to have to use string processing to scan
>>> the file instead. Are there any modules out there for extracting
>>> information from Python script files?
>>>
>>
>> You want to use the parser module.
>>
>> -bob
>>
>>
>
> _______________________________________________
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
>
More information about the Pythonmac-SIG
mailing list