-1 votes

Automator - Modifier les résultats de Get Image URLs from Webpage

J'essaie de modifier les résultats d'une liste de 30 éléments provenant de "Get Image URLs on Webpage".

Par exemple :

"https://dspncdn.com/a1/media/236x/82/58/da/8258da274aa4b81ab00c9c92cf5bcf50.jpg",
  "https://dspncdn.com/a1/media/236x/4e/9a/75/4e9a75bec9041112751ca2dd08a45026.jpg",
  "https://dspncdn.com/a1/media/236x/33/83/46/338346575aa402b13cb778c9525018fb.jpg",

Ce que je voudrais faire, c'est remplacer "236x" par "originaux".

Le problème est que le plus proche que je puisse obtenir élimine les " ", et les sauts de ligne, ce qui rend le téléchargement impossible.

"https://dspncdn.com/a1/media/original/82/58/da/8258da274aa4b81ab00c9c92cf5bcf50.jpghttps://dspncdn.com/a1/media/original/4e/9a/75/4e9a75bec9041112751ca2dd08a45026.jpghttps://dspncdn.com/a1/media/original/33/83/46/338346575aa402b13cb778c9525018fb.jpghttps://dspncdn.com/a1/media/original/a1/4f/7b/a14f7b07c1fafb12fce1ccdd53b52e69.jpghttps://dspncdn.com/a1/media/original/30/42/64/304264157b118808f6702f82c043aa65.jpg

Etc.

Pardonnez-moi d'être extrêmement naïf. Le code que j'utilise pour effectuer le changement est le suivant :

on run {input}
    set input to replaceText("236x", "original", input as string)
end run

on replaceText(find, replace, textString)
    set prevTIDs to AppleScript's text item delimiters
    set AppleScript's text item delimiters to find
    set textString to text items of textString
    set AppleScript's text item delimiters to replace
    set textString to "" & textString
    set AppleScript's text item delimiters to prevTIDs
    return textString
end replaceText

Je ne suis pas sûr des mots adéquats pour décrire les chaînes et les paragraphes, vraiment noob, mais je suppose que la préservation de chaque ligne dans le paragraphe pourrait nécessiter quelque chose d'entièrement différent. S'agit-il toujours d'une chaîne de caractères si elle comporte plusieurs lignes ?

Merci d'avance pour l'aide que vous pourrez m'apporter. Je pense que c'est ma dernière étape pour résoudre ce problème.

0 votes

Il suffit de répéter les éléments individuels au lieu de convertir la liste d'entrée en texte.

0 votes

Je ne sais pas ce qu'il faut modifier pour permettre cela.

1voto

red_menace Points 1014

Dans un Exécuter AppleScript l'action du gestionnaire d'exécution input est un paramètre liste des éléments de l'action précédente, et le résultat renvoyé par le script est ce qui est transmis à toute action suivante.

Dans votre exemple, vous mélangez les éléments d'entrée (en les contraignant à une chaîne) et souhaitez ensuite les séparer. Puisque l'entrée est déjà une liste, vous pouvez simplement passer par cette liste, en construisant une nouvelle (pour la sortie) à partir du traitement de chaque élément, par exemple :

on run {input, parameters}
   set output to {}
   repeat with anItem in input
      set end of output to replaceText("236x", "original", anItem as text)
   end repeat
   return output
end run

on replaceText(find, replace, textString)
   set prevTIDs to AppleScript's text item delimiters
   set AppleScript's text item delimiters to find
   set itemList to text items of textString -- split using old
   set AppleScript's text item delimiters to replace
   set textString to itemList as text -- join using new
   set AppleScript's text item delimiters to prevTIDs
   return textString
end replaceText

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X