from PSPApp import *

def ScriptProperties():
    return {
        'Author': u'Viktor Krammer',
        'Copyright': u'http://virtualnet.at/',
        'Description': u'Resize script for PSP',
        'Host': u'Paint Shop Pro Photo',
        'Host Version': u'12.50'
        }

def Do(Environment):
    # EnableOptimizedScriptUndo
    App.Do( Environment, 'EnableOptimizedScriptUndo', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default, 
                'AutoActionMode': App.Constants.AutoActionMode.Match, 
                'Version': ((12,5,0),1)
                }
            })

    # Get image size
    ImageInformation=App.Do(Environment,'ReturnImageInfo')
    Width=ImageInformation['Width']
    Height=ImageInformation['Height']
    
    # Resize only if picture is larger than 1000x1000
    if Width>1000 and Height>1000:
      # Resize: Portrait to 800px width and Landscape to 800px height
      if Width<=Height:
        App.Do( Environment, 'Resize', {
                'CurrentDimensionUnits': App.Constants.UnitsOfMeasure.Pixels, 
                'CurrentResolutionUnits': App.Constants.ResolutionUnits.PixelsPerIn, 
                'MaintainAspectRatio': True, 
                'AspectRatio': None, 
                'Resample': True, 
                'ResampleType': App.Constants.ResampleType.SmartSize, 
                'ResizeAllLayers': True, 
                'Width': 800, 
                'Height': None, 
                'SharpnessValue': 50, 
                'AdvancedMode': True, 
                'GeneralSettings': {
                    'ExecutionMode': App.Constants.ExecutionMode.Default, 
                    'AutoActionMode': App.Constants.AutoActionMode.Match, 
                    'Version': ((12,5,0),1)
                    }
                })
      else:
        App.Do( Environment, 'Resize', {
                'CurrentDimensionUnits': App.Constants.UnitsOfMeasure.Pixels, 
                'CurrentResolutionUnits': App.Constants.ResolutionUnits.PixelsPerIn, 
                'MaintainAspectRatio': True, 
                'AspectRatio': None, 
                'Resample': True, 
                'ResampleType': App.Constants.ResampleType.SmartSize, 
                'ResizeAllLayers': True, 
                'Width': None, 
                'Height': 800, 
                'SharpnessValue': 50, 
                'AdvancedMode': True, 
                'GeneralSettings': {
                    'ExecutionMode': App.Constants.ExecutionMode.Default, 
                    'AutoActionMode': App.Constants.AutoActionMode.Match, 
                    'Version': ((12,5,0),1)
                    }
                })