[?]   dans   mode   trier par   

[<] Sujet : [AS] Piloter un script via url
De : Dominique Isperian <anonyme@...>
Date : 2008-05-20 14:10:22

Sujet : Re: [AS] Piloter un script via url
De : Patrick Proniewski <anonyme@...>
Date : 2008-05-20 14:15:51

Sujet : Re: [AS] Piloter un script via url
De : Dominique Isperian <anonyme@...>
Date : 2008-05-20 14:23:51

Sujet : Re: [AS] Piloter un script via url
De : Daniel Varlet <anonyme@...>
Date : 2008-05-22 10:26:18

Sujet : Re: [AS] Piloter un script via url
De : Patrick Proniewski <anonyme@...>
Date : 2008-05-22 10:33:35

Sujet : Re: [AS] Piloter un script via url
De : Dominique Isperian <anonyme@...>
Date : 2008-05-22 19:39:17

Hello !

Un grand merci pour cette réponse : je m'y attelle sur le champ !

Amicalement.
--
Dominique




Le 22 mai 08 à 10:26, Daniel Varlet a écrit :

>
> Le 20 mai 08 à 14:10, Dominique Isperian a écrit :
>
>> Bonjour à tous !
>>
>> Question : est-il possible de passer un paramètre à un script via une
>> url ?
>>
>> iCal permet d'inscrire une url qui, entre autres, ouvre un fichier,
>> voire une application (file://localhost/Users/...)
>> Puis-je passer un ou des paramètres au script que je déclencherais  
>> par
>> ce moyen ?
>>
>> Voilà voilà ... et merci pour vos réponses !
>> --
>> Dominique
>
>
> C'est tout à fait faisable de lancer un script avec en plus des
> paramètres par URL. D'ailleurs on peut lancer n'importe quoi par URL +
> arguments sous Mac OS X.
> Dans iCal je ne vois pas trop l'intérêt, j'ai dû louper quelque chose,
> mais peu importe.
> Ceci est faisable avec un type (protocole) d'URL quelconque.
> (J’éviterais de surcharger (d'utiliser) les plus connus http, file,
> mailto, etc..., mais je n'ai pas essayé). C''est valable pour tout
> type d'application dans Mac OS X, pas seulement les applets.
>
> Pour les applets, ça tombe bien, c'est décrit en détail à :
>
> 	<http://www.apple.com/applescript/linktrigger/index.html>
>
> Avec en prime une implémentation de serveur de scripts (optionnelle).
>
> En résumé:
>
> 1) Modifier le fichier Info.plist de l'applet, pour signaler au
> système (LaunchServices je présume) le(s) type(s) d'URL géré/
> accepté(s) par l'application.
>
> 2) Dans le code utiliser le handler (gestionnaire) AS qui va récupérer
> l'URL:
>
> on open location theURL
> 	-- parsage de l'URL et lancement des actions.
> end open location
>
> 3) C'est tout.
>
> Je viens d'essayer ceci (exemple de protocole fabriqué pour  
> l'occasion)
> 	<x-toto://net.totor.testURL?action=1&action=2>
> Testé avec open (Terminal),  iCal, et ici dans Mail: ça marche sans
> problème. J'ai bien un dialogue avec 1 et 2.
>
> Extrait du fichier Info.plist:
>
> ...
> 	<key>CFBundleIdentifier</key>
> 	<string>net.totor.testURL</string>
> ...
> 	<key>CFBundleURLTypes</key>
> 	<array>
> 		<dict>
> 			<key>CFBundleURLName</key>
> 			<string>x-toto URL</string>
> 			<key>CFBundleURLSchemes</key>
> 			<array>
> 				<string>x-toto</string>
> 			</array>
> 		</dict>
> 	</array>
> ...
>
> Le code AS:
>
> [SCRIPT]
> on open location u
> 	set zs to last item of tinkerText(u, "?")
> 	set zs to tinkerText(zs, "&")
> 	repeat with z in zs
> 		set {k, v} to tinkerText(z, "=")
> 		if k = "action" then
> 			doIt(v)
> 		end if
> 	end repeat
> end open location
>
> on doIt(z)
> 	activate
> 	display dialog z
> end doIt
>
> --mark (-
> --mark Text tools<I<U!+
> --=============================== Text tools
> ================================--
> (* v1.2.2 *)
> on tinkerText(z, d) (* bascule text <-> list *)
> 	try
> 		set _d to AppleScript's text item delimiters
> 		set AppleScript's text item delimiters to d
> 		considering case
> 			if class of z is list then
> 				set r to z as text
> 			else
> 				set r to text items of z
> 			end if
> 		end considering
> 		set AppleScript's text item delimiters to _d
> 		return r
> 	on error ert number ern from obj
> 		set AppleScript's text item delimiters to _d
> 		-- stampError(ert, ern, obj, "tinkerText()")
> 		error ert number ern
> 	end try
> end tinkerText
> --=============================== /Text tools
> ===============================--
> [/SCRIPT]
>
>
> Un petit truc: le Finder et Cie sont des feignasses, et parfois il
> faut bouger l'applet d'un dossier à un autre (par exemple) pour qu'ils
> prennent en considération les changements d’Info.plist.
>
> Ton autre question: Pour récupérer une sélection (n'importe laquelle)
> dans iCal, je ne vois pas non plus. Même par UI scripting, niet...
>
> A+
>
> -- 
> Daniel
>
> _______________________________________________
> Applescript_fr mailing list
> anonyme@...
> http://listes.patpro.net/mailman/listinfo/applescript_fr

_______________________________________________
Applescript_fr mailing list
anonyme@...
http://listes.patpro.net/mailman/listinfo/applescript_fr

Sujet : Re: [AS] Piloter un script via url
De : Dominique Isperian <anonyme@...>
Date : 2008-05-23 00:38:48

Sujet : Re: [AS] Piloter un script via url
De : Daniel Varlet <anonyme@...>
Date : 2008-05-23 08:15:23

Sujet : Re: [AS] Piloter un script via url
De : Dominique Isperian <anonyme@...>
Date : 2008-05-23 08:28:58

Sujet : Re: [AS] Piloter un script via url
De : MADERT Pascal <anonyme@...>
Date : 2008-05-23 08:29:41

Sujet : Re: [AS] Piloter un script via url
De : Dominique Isperian <anonyme@...>
Date : 2008-05-23 08:55:37

Sujet : Re: [AS] Piloter un script via url
De : MADERT Pascal <anonyme@...>
Date : 2008-05-23 12:23:01

Apple, AppleScript, AppleScript Studio, AppleTalk, AppleWorks, ColorSync, Finder, HyperCard, iBook, iLife, iMac, iWork, Keynote, Mac, Macintosh, Mac OS, Pages, Panther, PowerBook, Power Mac, Power Macintosh, QuickTime, Safari, Tiger, Xcode sont des marques déposées par Apple Computer, Inc., enregistrées aux Etats-Unis et dans les autres pays. Liste officielle