Script d'appel de module externe

Scripts et tutoriels concernant les scripts
Règles du forum
Techniques pour gagner du temps ou automatiser des tâches
Répondre
Avatar du membre
fs999
entraideur doctorant
entraideur doctorant
Messages : 176
Enregistré le : 19 sept. 2015, 21:58
Sexe : Homme
Localisation : Luxembourg
Système d'exploitation : Windows 10
Système d'exploitation 64 bits : Oui
Version de PaintShop Pro : 2019 64 bits

Script d'appel de module externe

Message par fs999 » 29 juil. 2019, 16:43

Bonjour,

J'ai créé un script qui ouvre un nouveau calque, puis j'appelle le module concerné.

Seulement si l'on clique sur abandon, le script demande si l'on veut continuer le script ou pas.

Je voudrais intercepter cela, donc sans message, et supprimer ce calque.

J'ai essayé de voir ce que renvois le module mais j'ai l'erreur de script : TypeError: cannot concatenate 'str' and 'NoneType' objects
.

Code : Tout sélectionner

from PSPApp import *
import PSPUtils

def ScriptProperties():
    return {
        'Author': u'F. Schneider',
        'Copyright': u'\u00A9 2013-19 by F. Schneider',
        'Description': u'Adjust 5.2',
        'Host': u'PaintShop Pro',
        'Host Version': u'16.00'
        }



def Do(Environment):
    # EnableOptimizedScriptUndo
    App.Do( Environment, 'EnableOptimizedScriptUndo', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((15,0,0),1)
                }
            })

    # LayerDuplicate
    App.Do( Environment, 'LayerDuplicate', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((17,0,0),1)
                }
            })

    # Propriétés de calque
    App.Do( Environment, 'LayerProperties', {
            'General': {
                'Opacity': None,
                'Name': u'Topaz Adjust',
                'IsVisible': None,
                'IsTransparencyLocked': None,
                'LinkSet': None,
                'UseHighlight': None,
                'PaletteHighlightColor': None,
                'GroupLink': None,
                'BlendMode': None
                },
            'BlendRanges': None,
            'Path': (0,0,[],False),
            'ArtMediaTexture': None,
            'Effects': None,
            'BrightnessContrast': None,
            'ChannelMixer': None,
            'ColorBalance': None,
            'CurveParams': None,
            'HSL': None,
            'Threshold': None,
            'Levels': None,
            'Posterize': None,
            'Vibrancy': None,
            'Overlay': None,
            'LocalToneMapping': None,
            'Invert': None,
            'HistogramAdjustment': None,
            'FillLightClarity': None,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((18,0,0),1)
                }
            })

    # Topaz Labs_Topaz Adjust 5
    res = App.Do( Environment, 'Topaz Labs_Topaz Adjust 5', {
               'GeneralSettings': {
                  'ExecutionMode': App.Constants.ExecutionMode.Interactive,
                  'Version': ((15,0,0),1)
                  }
              })

    if res == App.Constants.Boolean.false:
      # DeleteLayer
      App.Do( Environment, 'DeleteLayer', {
              'Path': None,
              'MergeMask': True,
              'WorkingMode': 1,
              'GeneralSettings': {
                  'ExecutionMode': App.Constants.ExecutionMode.Silent,
                  'AutoActionMode': App.Constants.AutoActionMode.Match,
                  'Version': ((21,0,0),1)
                  }
              })
Je ne sais pas si on peut intercepter un abandon...

Frédéric
2019 Ultimate

Avatar du membre
spitfrog
entraideur amiral
entraideur amiral
Messages : 2734
Enregistré le : 06 juil. 2015, 13:35
Sexe : Homme
Localisation : Bourgogne-Franche-Comté
Système d'exploitation : XP/W7/W10
Système d'exploitation 64 bits : Oui
Version de PaintShop Pro : 2019 64 bits
Contact :

Re: Script d'appel de module externe

Message par spitfrog » 27 août 2019, 14:03

Salut Frédéric,
J'ai vu ton intervention sur le forum Corel et la réponse de LeviFiction.
Je vais peut-être dire une bêtise, mais les nouvelles versions de PSP ne peuvent-elles pas lancer plusieurs scripts à la suite ?
Dans ce cas, pourquoi ne faire la partie qui vient après l'appel du plugin Topaz dans un second script, comme ça, quoiqu'il se produise dans le premier, il se termine, le second se lance et vérifie si un calque existe et s'il est vide, puis le supprime si c'est vrai.

Avatar du membre
fs999
entraideur doctorant
entraideur doctorant
Messages : 176
Enregistré le : 19 sept. 2015, 21:58
Sexe : Homme
Localisation : Luxembourg
Système d'exploitation : Windows 10
Système d'exploitation 64 bits : Oui
Version de PaintShop Pro : 2019 64 bits

Re: Script d'appel de module externe

Message par fs999 » 03 sept. 2019, 14:49

Salut,
Mais si tu abandonne le second script n'est pas exécuté, donc le calque reste...
Je n'ai pas encore eu le temps de me pencher sur la solution de LeviFiction.
Mais je te dirai si ça marche...
2019 Ultimate

Avatar du membre
spitfrog
entraideur amiral
entraideur amiral
Messages : 2734
Enregistré le : 06 juil. 2015, 13:35
Sexe : Homme
Localisation : Bourgogne-Franche-Comté
Système d'exploitation : XP/W7/W10
Système d'exploitation 64 bits : Oui
Version de PaintShop Pro : 2019 64 bits
Contact :

Re: Script d'appel de module externe

Message par spitfrog » 04 sept. 2019, 22:00

fs999 a écrit :
03 sept. 2019, 14:49
Mais si tu abandonnes le second script n'est pas exécuté, donc le calque reste...
On parle bien de fichier > traitement groupé ?
et si tu "casses" le premier de la liste, les autres ne s'exécutent pas ? Ce n'est pas très normal comme comportement, il faudrait demander à Corel de prévoir une option du genre "En cas d'échec d'un script, continuer l'exécution des autres scripts : oui non"
Je ne crois pas que tu l'aies expliqué, mais pourquoi sors-tu du script ? L’application de l'effet Topaz est trop long ?

Avatar du membre
fs999
entraideur doctorant
entraideur doctorant
Messages : 176
Enregistré le : 19 sept. 2015, 21:58
Sexe : Homme
Localisation : Luxembourg
Système d'exploitation : Windows 10
Système d'exploitation 64 bits : Oui
Version de PaintShop Pro : 2019 64 bits

Re: Script d'appel de module externe

Message par fs999 » 06 sept. 2019, 20:30

spitfrog a écrit :
04 sept. 2019, 22:00
Je ne crois pas que tu l'aies expliqué, mais pourquoi sors-tu du script ? L’application de l'effet Topaz est trop long ?
Non mais parfois je change d'avis ou j'ai cliqué sur le mauvais module :lol:
2019 Ultimate

Répondre