changeset 14:0ecf92b5a7c5 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/graphicsmagick commit b7029458f591d04c5259dc84cc931924c7194fbf
author bgruening
date Wed, 16 Jul 2025 11:48:39 +0000
parents 8f46605c84ec
children
files convert.xml macros.xml test-data/outputs/tmp_00.jpg test-data/outputs/tmp_01.jpg test-data/test.pdf
diffstat 5 files changed, 86 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/convert.xml	Fri May 09 22:49:50 2025 +0000
+++ b/convert.xml	Wed Jul 16 11:48:39 2025 +0000
@@ -3,33 +3,41 @@
     <macros>
         <import>macros.xml</import>
     </macros>
-    <expand macro="requirements" />
+    <expand macro="requirements"/>
     <command detect_errors="aggressive">
 <![CDATA[
-        ln -s '${input}' input.${input.ext}
-        &&
-        #if str($transformations) != 'None':
-            #set $trans_options = str($transformations).replace(',', ' ')
-        #else:
-            #set $trans_options = ''
-        #end if
+    ln -s '${input}' input.${input.ext} &&
+    #if str($transformations) != 'None':
+        #set $trans_options = str($transformations).replace(',', ' ')
+    #else:
+        #set $trans_options = ''
+    #end if
 
-        gm convert
-            -resize ${resize}%x
-            $trans_options
-            #if $palette.palette_select == "automatic"
+    gm convert
+        -resize ${resize}%x
+        $trans_options
+        #if $palette.palette_select == "automatic"
             -type Palette
-            #else if $palette.palette_select == "manual"
+        #else if $palette.palette_select == "manual"
             -colors '${palette.palette}'
-            #end if
-            'input.${input.ext}'
-            'temp.${output_format}'
+        #end if
+        'input.${input.ext}'
+    #if $input.ext != 'pdf':
+        ## single output file
+        'temp.${output_format}'
         &&
         mv 'temp.${output_format}' '${output}'
+    #else:
+        ## create multiple output files for each PDF side
+        +adjoin temp_%03d.${output_format}
+        &&
+        mkdir ./outputs &&
+        mv temp_* ./outputs
+    #end if
 ]]>
     </command>
     <inputs>
-        <param format="jpg,png,bmp,gif,svg,eps,tiff" name="input" type="data" label="Image to convert" />
+        <param format="jpg,png,bmp,gif,svg,eps,tiff,pdf" name="input" type="data" label="Image to convert"/>
         <param name="transformations" multiple="true" type="select" display="checkboxes" label="Transformations">
             <option value="-flip">flip vertically</option>
             <option value="-flop">flip horizontally</option>
@@ -37,71 +45,86 @@
             <option value="-rotate 270">rotate 90 degree to the left</option>
             <option value="-rotate 180">rotate 180 degree</option>
         </param>
-
         <conditional name="palette">
             <param name="palette_select" type="select" label="Reduce Color Palette">
                 <option value="no" selected="true">No</option>
                 <option value="automatic">Automatic</option>
                 <option value="manual">Manual</option>
             </param>
-            <when value="automatic" />
+            <when value="automatic"/>
             <when value="manual">
                 <param name="palette" type="integer" min="1" label="Color Palette Size" value="32" help="Number of colors to use, should be in powers of 2 (1, 2, 4, 8, 16, 32, 64, ...), otherwise space is wasted in the palette."/>
             </when>
-            <when value="no" />
+            <when value="no"/>
         </conditional>
         <param name="resize" type="float" value="100" label="Resize (%)" min="0"/>
         <param name="output_format" type="select" label="Output Format">
-                <option value="jpg">jpg</option>
-                <option value="png">png</option>
-                <option value="bmp">bmp</option>
-                <option value="gif">gif</option>
-                <option value="svg">svg</option>
-                <option value="eps">eps</option>
-                <option value="pdf">pdf</option>
-                <option value="tiff">tiff</option>
+            <option value="jpg">jpg</option>
+            <option value="png">png</option>
+            <option value="bmp">bmp</option>
+            <option value="gif">gif</option>
+            <option value="svg">svg</option>
+            <option value="eps">eps</option>
+            <option value="pdf">pdf</option>
+            <option value="tiff">tiff</option>
         </param>
     </inputs>
     <outputs>
         <data format="png" name="output">
             <change_format>
-                <when input="output_format" value="jpg" format="jpg" />
-                <when input="output_format" value="png" format="png" />
-                <when input="output_format" value="bmp" format="bmp" />
-                <when input="output_format" value="gif" format="gif" />
-                <when input="output_format" value="svg" format="svg" />
-                <when input="output_format" value="eps" format="eps" />
-                <when input="output_format" value="pdf" format="pdf" />
-                <when input="output_format" value="tiff" format="tiff" />
+                <when input="output_format" value="jpg" format="jpg"/>
+                <when input="output_format" value="png" format="png"/>
+                <when input="output_format" value="bmp" format="bmp"/>
+                <when input="output_format" value="gif" format="gif"/>
+                <when input="output_format" value="svg" format="svg"/>
+                <when input="output_format" value="eps" format="eps"/>
+                <when input="output_format" value="pdf" format="pdf"/>
+                <when input="output_format" value="tiff" format="tiff"/>
             </change_format>
+            <filter>input.ext != "pdf"</filter>
         </data>
+        <collection name="splitted_pdf" type="list" label="${tool.name} on ${on_string} collection">
+            <discover_datasets pattern="__designation_and_ext__" directory="outputs"/>
+            <filter>input.ext == "pdf"</filter>
+        </collection>
     </outputs>
     <tests>
-      <test>
-          <param name="input" value="donald.jpg" />
-          <param name="output_format" value="png"  />
-          <param name="transformations" value="-flip" />
-          <param name="resize" value="50" />
-          <output name="output" file="result_image_convert_1.png" compare="sim_size" delta="20000" />
-      </test>
-      <test>
-          <param name="input" value="donald.jpg" />
-          <param name="output_format" value="jpg"  />
-          <conditional name="palette">
-              <param name="palette_select" value="automatic" />
-          </conditional>
-          <output name="output" file="donald-palette.jpg" compare="sim_size" delta="20000" />
-      </test>
-      <test>
-          <param name="input" value="donald.jpg" />
-          <param name="output_format" value="jpg"  />
-          <conditional name="palette">
-              <param name="palette_select" value="manual" />
-              <param name="palette" value="2" />
-          </conditional>
-          <output name="output" file="donald-colors-2.jpg" compare="sim_size" delta="20000" />
-      </test>
-  </tests>
+        <test expect_num_outputs="1">
+            <param name="input" value="donald.jpg"/>
+            <param name="output_format" value="png"/>
+            <param name="transformations" value="-flip"/>
+            <param name="resize" value="50"/>
+            <output name="output" file="result_image_convert_1.png" compare="sim_size" delta="20000"/>
+        </test>
+        <test expect_num_outputs="1">
+            <param name="input" value="donald.jpg"/>
+            <param name="output_format" value="jpg"/>
+            <conditional name="palette">
+                <param name="palette_select" value="automatic"/>
+            </conditional>
+            <output name="output" file="donald-palette.jpg" compare="sim_size" delta="20000"/>
+        </test>
+        <test expect_num_outputs="1">
+            <param name="input" value="donald.jpg"/>
+            <param name="output_format" value="jpg"/>
+            <conditional name="palette">
+                <param name="palette_select" value="manual"/>
+                <param name="palette" value="2"/>
+            </conditional>
+            <output name="output" file="donald-colors-2.jpg" compare="sim_size" delta="20000"/>
+        </test>
+        <test expect_num_outputs="1">
+            <param name="input" value="test.pdf"/>
+            <param name="output_format" value="jpg"/>
+            <conditional name="palette">
+                <param name="palette_select" value="no"/>
+            </conditional>
+            <output_collection name="splitted_pdf" count="12" type="list">
+                <element name="temp_000" file="outputs/tmp_00.jpg" ftype="jpg" />
+                <element name="temp_001" file="outputs/tmp_01.jpg" ftype="jpg" />
+            </output_collection>
+        </test>
+    </tests>
     <help>
 <![CDATA[
 
@@ -120,5 +143,5 @@
 
 ]]>
     </help>
-    <expand macro="citations" />
+    <expand macro="citations"/>
 </tool>
--- a/macros.xml	Fri May 09 22:49:50 2025 +0000
+++ b/macros.xml	Wed Jul 16 11:48:39 2025 +0000
@@ -1,6 +1,6 @@
 <macros>
     <token name="@TOOL_VERSION@">1.3.45</token>
-    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@VERSION_SUFFIX@">1</token>
     <xml name="requirements">
         <requirements>
             <requirement type="package" version="@TOOL_VERSION@">graphicsmagick</requirement>
Binary file test-data/outputs/tmp_00.jpg has changed
Binary file test-data/outputs/tmp_01.jpg has changed
Binary file test-data/test.pdf has changed