Enabling disabling a texture with python

Hello.
I try to activate / deactivate textures in my materials with python:
I have many images (3), each at a diferent resolution, and I want to have 3 different games, each one using a set of textures at a specific resolution.
(HDxxx.png for HD game, LDxxx for Low res game…

I do not know the syntax and cannot find it in the API

here is my code:

from Blender import Texture,Image,Material    # pour pouvoir modifier l'interface blender 
 
OptionTextures = 2 
# 1 pour rendu 2 pour jeu en basse def, 3 pour jeu en moyenne def et 4 pour ju en haute def 
 
Materiaux = Material.Get()    # Obtient la liste de tous les materiaux de notre projet 
 
print "Voici la liste des materiaux du Fort"    # résultat sur console 
 
for LeMateriau in Materiaux:                                            # pour chaque materiau de la liste Materiaux 
    print LeMateriau       
    MesTextures = LeMateriau.getTextures()          # obtient la liste des textures du materiau en cours 
    for TextureEnCours in MesTextures:                            # Pour chaque texture du materiau en cours 
         
        if TextureEnCours is not None:                                # Si une texture existe 
             
            if TextureEnCours.tex.type == Texture.Types.IMAGE:    # et si c'est une image 
                if OptionTextures == 1: 
                    print dir(TextureEnCours) 
                    # switch des textures en HD Rendu 
                # fin boucle option 1 
                 
                if OptionTextures == 2: 
                    #print dir(TextureEnCours) 
                    print TextureEnCours.tex 
                    print dir(TextureEnCours.tex) 
                    TextureEnCours.tex.weight1 = 0 
                    # switch des textures en jeu basse def 
                # fin boucle option 2 
                 
                if OptionTextures == 3: 
                    print dir(TextureEnCours) 
                    # switch des textures en jeu moyenne def 
                # fin boucle option 3 
                 
                if OptionTextures == 4: 
                    print dir(TextureEnCours) 
                    # switch des textures en jeu haute def 
                # fin boucle option 4 
                 
                 
                print TextureEnCours.tex.image.filename   # print nom de l'image 
            # fin boucle si c'est une image 
        #fin boucle si une texture existe 
    #fin boucle pour chaque texture 
    print "--------------------------------" 
#fin boucle pour chaque materiau

If someone knows How to
(code would replace " # switch des textures lines")

the

print dir(TextureEnCours)

does not help a lot

Thanks in advance

see enabledTextures in the docs of the Material module. Basically if you have 3 materials (0,1,2) and you want to enable just number 1, you do


mat.enabledTextures=[1]

if you would want to enable them all it would be:


mat.enabledTextures[0,1,2]

Thank you varkenvarken

… and now, I know how to better find information in the API
For newbies like me, I would suggest not to search through your webbrowser but to search with your Os search function, that will scan all files.

Here is my final script that does exactly what I want:


from Blender import Texture,Image,Material    # pour pouvoir modifier l'interface blender 
 
# définition des variables cont et own (noms utilisés par la communauté blender)  
cont = GameLogic.getCurrentController()        # cont est le controleur de l'objet 
own = cont.owner                # Variable de l'objet sélectionne 
 
OptionTextures = own.Choix 
print OptionTextures 
# 1 pour rendu 2 pour jeu en basse def, 3 pour jeu en moyenne def et 4 pour jeu en haute def 
 
Materiaux = Material.Get()        # Obtient la liste de tous les materiaux de notre projet 
 
for LeMateriau in Materiaux:        # pour chaque materiau de la liste Materiaux 
    index = 0 
    LeMateriau.enabledTextures = []  # desactivation de toutes les textures du materiau 
    Canal = LeMateriau.enabledTextures        # pour l'index de la texture 
     
    MesTextures = LeMateriau.getTextures()          # obtient la liste des textures du materiau en cours 
     
    for TextureEnCours in MesTextures:        # Pour chaque texture du materiau en cours 
         
             
        if TextureEnCours is not None:        # Si une texture existe 
             
            ent = TextureEnCours.tex.name    #nom de la texture 
            entete = ent[0:2]                    #extraction des 2 1ères lettres du nom de la texture                 
                         
            if TextureEnCours.tex.type == Texture.Types.IMAGE:    # et si c'est une image 
                if OptionTextures == 1: 
                    if entete == "HD": 
                        Canal.append(index)        # activation de la texture Haute définition du rendu 
                        LeMateriau.enabledTextures = Canal 
                # fin boucle option 1 
                 
                if OptionTextures == 2: 
                    if entete == "BR": 
                        Canal.append(index)        # activation de la texture basse def pour jeu basse def 
                        LeMateriau.enabledTextures = Canal 
                # fin boucle option 2 
                 
                if OptionTextures == 3: 
                    if entete == "MR": 
                        Canal.append(index)        # activation de la texture moyenne resolution 
                        LeMateriau.enabledTextures = Canal 
                # fin boucle option 2 
                 
                if OptionTextures == 4: 
                    if entete == "HR": 
                        Canal.append(index)        # activation de la texture haute résolution pour jeu haute def 
                        LeMateriau.enabledTextures = Canal 
                # fin boucle option 4 
                 
            # fin boucle si c'est une image 
        #fin boucle si une texture existe 
        index = index + 1 
    #fin boucle pour chaque texture 
     
#fin boucle pour chaque materiau 
         
 
# Fin du script