Oh Justin! I almost got a headache when i looked at your lambda recipe.!! 
Classic method is better :P

On Tuesday, March 27, 2012 9:26:52 PM UTC+4:30, Justin Israel wrote:
>
> Here is a tightened up version of Mike's cmds approach. It uses sets which 
> are more efficient and unique by design, and gets rid of the inner for 
> loop...
>
> texture_types = set(['tif', 'tga', 'png'])
> used_files = set()
>
> for file_node in cmds.ls(type='file') :
>    file_path = cmds.getAttr("%s.fileTextureName" % file_node)
>    if file_path.lower().rsplit('.', 1)[-1] in texture_types:
>        used_files.add(file_path)
>         
> print used_files
>
>
> And just for fun, here is a oneliner filter + lambda + generator
>
> texture_types = set(['tif', 'tga', 'png'])
>
> textures = filter(lambda p: p.lower().rsplit('.', 1)[-1] in texture_types, 
> (cmds.getAttr("%s.ftn" % fNode) for fNode in cmds.ls(type='file')))
>
> --justin
>
>
> On Tue, Mar 27, 2012 at 9:21 AM, Mike Malinowski (LIONHEAD) <
> [email protected]> wrote:
>
>> Using pymel...
>>
>>
>> import pymel.core as pm
>>
>> texture_types = ['.tga']
>> used_files = []
>> for file_node in pm.ls(type='file') :
>>    for texture_type in texture_types :
>>        file_path = file_node.fileTextureName.get()
>>        if texture_type in file_path :
>>            used_files.append(file_path)
>>            continue
>> print used_files
>>
>>
>> or using cmds...
>>
>> import maya.cmds as cmds
>>
>> texture_types = ['.tga']
>> used_files = []
>> for file_node in cmds.ls(type='file') :
>>    for texture_type in texture_types :
>>        file_path = cmds.getAttr(file_node + ".fileTextureName")
>>        if texture_type in file_path :
>>            used_files.append(file_path)
>>            continue
>> print used_files
>>
>> -----Original Message-----
>> From: [email protected] [mailto:
>> [email protected]] On Behalf Of kinjal gajera
>> Sent: 27 March 2012 14:14
>> To: python_inside_maya
>> Subject: [Maya-Python] Re:- Generating texture list by python
>>
>> Hi TEAM
>>
>> Please note
>> I have one cg maya 2011 file,having various texture.
>> my task is to create a script through python,by we can get the complete 
>> used texture list in maya file.
>>
>> Expecting positive reply..
>>
>> --
>> view archives: http://groups.google.com/group/python_inside_maya
>> change your subscription settings: 
>> http://groups.google.com/group/python_inside_maya/subscribe
>>
>>
>> --
>> view archives: http://groups.google.com/group/python_inside_maya
>> change your subscription settings: 
>> http://groups.google.com/group/python_inside_maya/subscribe
>>
>
>

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to