Voit itse lisätä ja muuttaa sisältöä muokkaa-painikkeiden avulla
Ennen tallennusta suositellaan ottamaan kopio muokkausruudusta (ctrl-a -> ctrl-c)
Olet itse vastuussa tämän teoksen käytöstä aiheutuvista vahingoista Lue lisää.
Applescript
Yleistä[muokkaa]
AppleScript on englannin kieltä muistuttava ohjelmointikieli macOS-käyttöjärjestelmässä. Ajettaessa komennot käännetään tapahtumiksi, joilla voidaan hallita muita ohjelmia. Scripting Bridge yhdistää Pythonin, Rubyn ja olio-C:n AppleScriptiin. Nämä scriptable-sovellukset sijaitsevat Apple Events dictonary:ssa. AppleScripitin kehitys ja tuki on ilmeisesti lakannut Mac OS X 10.6 versioon. Mutta toimii vielä High Sierra:ssa (2018).
- Katso myös Mac vinkit#Automator
Sijoittamatta[muokkaa]
if (checkbox "Teksti tähän" of window 1) is true then set save_Script to true set theCheckbox to checkbox of window 1 set theCheckbox to make checkbox with properties {static label:"Teksti tähän", checked state:true}
Kirjastoja[muokkaa]
- http://applescript.bratis-lover.net/library (Brati's Lover -kirjasto sisältää erittäin hyödyllisiä "handlereita" eri tilanteisiin!!!)
Ohjeita[muokkaa]
- Applen ohjesivu, jossa ohjeet alkuun pääsemiseksi ja useita hyödyllisiä skriptejä.
- Käytettävissä olevat komennot
Malliohjelmia[muokkaa]
- OSX ohjelmia. Esimerkiksi Safari välilehtien tallentaminen.
- http://www.macosxautomation.com/training/applescript/18.html
- Uuden Safari-ikkunan avaaminen, lomakekenttien täyttäminen ja harmaana olevan kirjautumispainikkeen aktivoiminen ja painaminen
- Painikkeiden painaminen nettisivulla ja lomakkeiden täyttäminen
Perusohjeet[muokkaa]
- Ohjelmat > Lisäohjelmat > AppleScript-editori
- Varmista, että editorin vasemmassa yläkulmassa lukee AppleScript
- Skripti kirjoitetaan ruutuun ja testataan painamalla 'suorita ("play", cmd-r)'-painiketta.
- Jos skriptissä on virheitä, ohjelman suoritus ei ala tai se keskeytyy. Skriptin tallennus tapahtuu normaalisti ja iCloud Drivesta löytyy oma hakemisto Script Editor.
- \n on rivinvaihto, \t on sarkain, alt-välilyönti on "toisenlainen" välilyönti
Kommentointi[muokkaa]
- Yksi rivi: rivin alkuun: --
- Useampi rivi: (* huomiotta jätettävät rivit tällä välillä *)
Muuttuja[muokkaa]
set muuttujaJotain to “teksti” set muuttujaJotain to 5
Listat/Luettelot[muokkaa]
- Muuttujan asettaminen listalta
set jokuMuuttuja to item i of jokuLista
Peruskomentoja[muokkaa]
If[muokkaa]
if ehto then tell jotain end tell else if ehto then tell jotain else tell jotain end tell end if
Repeat[muokkaa]
repeat with i from 1 to length of jokuLista set seuraavaListalta to item i of jokuLista tähän mitä toistetaan end repeat
Funktio[muokkaa]
- Toiminnot voiaan jakaa funktioiksi, joita kutsutaan tarpeen mukaan.
on FunktionNimi(muuttuja1, muuttuja2) TAI FunktionNimi() toiminta end FunktionNimi
- Funktion kutsuminen
FunktionNimi(muuttuja1,muuttuja2) TAI FunktionNimi()
Valikko ohjelman suorittamiseen[muokkaa]
KESKENERÄINEN eli puuttuu repeat-toiminto
-- Valikko --repeat tell application "System Events" activate set toimintaVaihtoehdot to {“Toiminto 1”, “Toiminto2”} choose from list toimintaVaihtoehdot with prompt "Valitse suoritettava toiminto:" set toimintoValinta to result as text end tell if toimintoValinta is “Toiminto 1" then ToimintaFunktio1() end if if toimintoValinta is “Toiminto 2" then ToimintaFunktio2(muuttuja1, muuttuja2) end if if toimintoValinta is "Cancel" then end if --end repeat
Tulostus[muokkaa]
- Perusponnahdusikkuna, jolla voi tulostaa tekstiä ja muutujien tietoa
display dialog "Teksti tähän" display dialog "Teksti tähän" & jokuMuuttuja buttons "Ok" display dialog jokuMuuttuja buttons "Ok"
- Rivinvaihto ponnahdusikkunassa tapahtuu kirjoittamalla editorissa rivinvaihtokohtaan \n ja jatkamalla kirjoittamista. Kun skripti ajetaan tai tallennetaan editori muotoilee rivit uudestaan ja poistaa \n -merkin.
- Ponnahdusikkuna: ilmoitus kun toimitaan repeat-silmukassa
-- Ilmoitus set ilmoitusKysymys to display alert “Otsikko ilmestyy lihavoituna " message “Varsinainen teksti tähän.” buttons {"Keskeytä", "Jatka"} default button "Jatka" set vastaus to button returned of ilmoitusKysymys if vastaus is equal to "Keskeytä" then exit repeat end if
- Ponnahdusikkuna: ilmoitus
set ponnahdusIkkuna to "Päiväys ja aika on " & (current date) & "." display dialog ponnahdusIkkuna
- Ponnahdusikkuna: varmistus
set varmistusKysymys to display alert "Aloitetaanko toiminto." buttons {"Keskeytä", "Aloita"} default button "Aloita" set vastaus to button returned of varmistusKysymys if vastaus is equal to "Keskeytä" then exit repeat -- poistutaan silmukasta, jossa ollaan end if
- Ponnahdusikkuna: 'Mitä tehdään seuraavaksi' tavanomaisena ponnahdusikkunana
set ponnahdusIkkuna to "Oho, nyt tapahtui virhe. Mitäs aiot seuraavaksi duunata?” display dialog ponnahdusIkkuna buttons {"Pysäytä", "Jatka"} default button "Jatka" cancel button "Pysäytä" with icon caution giving up after 5
Jos virheilmoitus: A identifier can’t go after this “"”. niin duunata? sanan jälkeen viimeinen sitaatti on todennäköisesti virheellinen, joten paina se uudestaan shift-2
- Ponnahdusikkuna: 'Mitä tehdään seuraavaksi' varoitus-ponnahdusikkunana
display alert "Oho, nyt tapahtui virhe." message "Ei ole kyllä tietoa mitä tarkalleen tapahtui. Jatketaanko kuitenkin?" as critical buttons {"Pysäytä", "Jatka"} default button "Jatka" cancel button "Pysäytä"
- Ponnahdusikkuna if-komennolla
set question to display dialog "Vastaa kyllä tai ei" buttons {"Kyllä", "Ei"} default button 1 set answer to button returned of question if answer is equal to "Kyllä" then display dialog "Vastasit kyllä" buttons {"Sulje"} else display dialog "Vastasit ei" buttons {"Sulje"} end if
- Musiikkikappaletta toistavan Spotify-ohjelman kappaleen nimi ponnahdusikkunaan
tell application "Spotify" set kappaleenNimi to get the name of the current track end tell display dialog kappaleenNimi
- tell application "Spotify" to get the name of the current track
- Ohjelma joka lisäksi testaa onko Spotify päällä ja tulosta artistin nimen
if application "Spotify" is not running then display dialog "Spotify ei ole päällä" else tell application "Spotify" set soivaKappale to get the name of the current track set soivaKappaleArtisti to get the artist of the current track end tell display dialog "Soivan kappaleen nimi on " & soivaKappale & " ja artistin nimi on " & soivaKappaleArtisti & "." end if
Puhe[muokkaa]
say "Puhuttava teksti." using "Satu" volume 1 -- äänenvoimakkuus asteikolla 0 - 1
Tietojen pyytäminen[muokkaa]
- Tiedon pyytäminen
-- Pyydetään tietoa käyttäjältä set jokuKysymys to display dialog "Kirjoita tiedoston nimi." default answer "" with icon note buttons {"Keskeytä", "Seuraava"} default button "Seuraava" set vastaus to button returned of jokuKysymys if vastaus is equal to "Keskeytä" then exit repeat else set jokuMuuttuja to text returned of jokuKysymys end if
- Yksi tieto tai lista useammalla rivillä ja siihen kuulumattomien poistaminen
-- Pydetään käyttäjältä yhtä tietoa tai listaa useammalla rivillä, esimerkiksi kopioitu excelin sarake set tiedusteltavaKysymys to display dialog “Anna tiedot“ default answer linefeed with icon note buttons {"Keskeytä", "Seuraava"} default button "Seuraava" set vastaus to button returned of tiedusteltavaKysymys if vastaus is equal to "Keskeytä" then exit repeat — toiminto suoritetaan silmukassa, josta tässä lähdetään pois else set kysymysTeksti to text returned of tiedusteltavaKysymys if kysymysTeksti does not contain “jokuvaatimus” then — esimerkiksi https display alert “Anna jokuvaatimus” exit repeat -- poistutaan silmukasta else set lista to every paragraph of kysymysTeksti -- poistetaan listalta siihen kuulumattomat, esim. tyhjät rivit set listaltaPoistettavat to {""} -- "" tarkoittaa tyhjät rivit. Lisää tarvittaessa muuta poistettavaa pilkulla erotettuna set puhdasLista to {} repeat with i from 1 to count lista if {lista's item i} is not in listaltaPoistettavat then set puhdasLista's end to lista's item i end repeat end if end if
- Valintaikkuna
tell application "System Events" activate set valintaLuettelo to {"Vaihtoehto 1", "Vaihtoehto 2", "Vaihtoehto 3"} choose from list valintaLuettelo with prompt "Valitse joku seuraavista:" default items {"Vaihtoehto 2"} set valinta to result as text end tell
Ohjelman käynnistäminen[muokkaa]
if application "Messages" is not running then -- testataan onko ohjelma käynnissä tell application "Messages" to activate else tell application "Messages" -- avataan jo auki oleva ohjelma ruudulle activate set visible of windows to true end tell end if
Aktiivinen ohjelma-ikkuna[muokkaa]
tell application "System Events" to set aktiivinenOhjelma to name of first process where frontmost is true
Ikkunan sijoittaminen ruudulla[muokkaa]
tell application "System Events" set position of first window of application process "Messages" to {50, 100} -- ikkunan vasen yläkulma (x, y) end tell
- Ikkunan uudelleensijoittaminen
- Näyttöruudun koon voi olla esim. 2560 x 1440, 2840 x 2200 jne. Ruudun yläkulma on 0, 0.
- Ikkunan paikka voidaan määrittää esim. nejän luvun avulla: {vasen yläkulma x, vasen yläkulma y, oikea alakulma x, oikea alakulma y}
- Painamalla shift-cmd-4 muuttaa hiiren osoittimen tähtäimeksi, joka näyttää osoittimen paikan kahdella luvulla. Ylempi luku on x ja alempi y. Tällä on helppo määritellä esimerkiksi haluttu ikkunan sijainti. Muutoin ikkunoiden sijainti on plus- ja vähennyslaskua.
- Ruudun yläkulmaan y-koordinaattiin ja tarvittaessa x-koordinaattiin kun lisää 20 ja ruudun suurimmista arvoista kun vähentää 20 ikkuna saattaa asettua paremmin.
- Ikkunan sijoittelussa voidaan käyttää muuttujia: set the bounds of first window to {(100 + (10 * muuttujaNimi)), (10 + (10 * muuttujaNimi)), (100 + (10 * muuttujaNimi)), (100 + (10 * muuttujaNimi))}
Uusi Safari-ikkuna[muokkaa]
tell application "Safari" (make new document) activate open location "http://www.yle.fi" tähän muita toimintoja jotka suoritetaan Safarissa end tell
tell application "Safari" activate -- ei aina pakollinen make new document with properties {URL:"http://www.yle.fi"} make new document with properties {URL:jokuMuuttuja} end tell
to avaaVerkkosivu(verkkoSivu) tell application "Safari" activate tell window 1 set current tab to (make new tab with properties {URL:avattavaSivu}) end tell end tell end avaaVerkkosivu -- avaaVerkkosivu("http://www.yle.fi") -- tällä avataan haluttu sivu
- Odotetaan sivun latautumista valmiiksi
delay 1 -- odotetaan tarvittaessa esim. 1 sekunti
-- Avataan sivu uuteen Safari-ikkunaan tell application "Safari" activate make new document with properties {URL:"http://www.yle.fi"} -- Odotetaan sivun latautumista valmiiksi delay 1 tell document 1 repeat until ("</html>" is in its source) delay 5 end repeat end tell end tell
Safari-ikkunan sulkeminen[muokkaa]
tell application "Safari" close current tab of front window end tell
Safari-ikkunasta haku[muokkaa]
- Haku tehdään lähdekoodista
-- Sivustosta linkin haku tell application "Safari" set valilehdenKoodi to source of front document -- set validehdenUrl to URL of front document if valilehdenKoodi contains "rel=\"teksti\">jotain</a>" then -- tähän miten url tunnistetaan set tilapainenHTMLTiedosto to "tiedosto_tilapainen" set i to URL of document 1 -- set r to do shell script "echo " & quoted form of i & " | sed 's|/$||;s|:|%3A|g;s|/|%2F|g'" do shell script "curl " & i & " > " & quoted form of ((system attribute "HOME") & "/Desktop/" & tilapainenHTMLTiedosto & ".txt") -- tallennetaan lähdekoodi tiedostoksi else end if end tell
Safari-lähdekoodin tallentaminen[muokkaa]
tell application "Safari" (make new document) activate open location "http://www.yle.fi" -- Odotetaan sivun latautumista valmiiksi delay 1 tell document 1 repeat until ("</html>" is in its source) delay 5 end repeat end tell set tilapainenHTMLTiedosto to "tiedosto_tilapainen" set a to URL of document 1 do shell script "curl " & a & " > " & quoted form of ((system attribute "HOME") & "/Desktop/" & tilapainenHTMLTiedosto & ".txt") end tell
Tallennetusta HTML-lähdekoodista linkkien etsiminen[muokkaa]
on parseHTMLFile(theFile, theOpeningTag, theClosingTag, returnContentsOnly) try set theFile to theFile as string set theFile to open for access file theFile set theCombinedResults to "" set theCurrentOpeningTag to "" repeat read theFile before "<" set theCurrentTag to read theFile until ">" if theCurrentTag does not start with "<" then set theCurrentTag to ("<" & theCurrentTag) as string if theCurrentTag begins with theOpeningTag then set theCurrentOpeningTag to theCurrentTag if theClosingTag is "" then if theCombinedResults is "" then set theCombinedResults to theCombinedResults & theCurrentOpeningTag else set theCombinedResults to theCombinedResults & return & theCurrentOpeningTag end if else set theTextBuffer to "" repeat set theTextBuffer to theTextBuffer & (read theFile before "<") set theTagBuffer to read theFile until ">" if theTagBuffer does not start with "<" then set theTagBuffer to ("<" & theTagBuffer) if theTagBuffer is theClosingTag then if returnContentsOnly is false then set theTextBuffer to theCurrentOpeningTag & theTextBuffer & theTagBuffer end if if theCombinedResults is "" then set theCombinedResults to theCombinedResults & theTextBuffer else set theCombinedResults to theCombinedResults & return & theTextBuffer end if exit repeat else set theTextBuffer to theTextBuffer & theTagBuffer end if end repeat end if end if end repeat close access theFile on error theErrorMessage number theErrorNumber try close access theFile end try if theErrorNumber is not -39 then return false end try return theCombinedResults end parseHTMLFile on parseHTMLTag(theHTMLTag) set AppleScript's text item delimiters to "\"" set theHTMLTagElements to text items of theHTMLTag set AppleScript's text item delimiters to "" if length of theHTMLTagElements is greater than 1 then return item 2 of theHTMLTagElements return "" end parseHTMLTag -- Etsitään linkki tiedostoon tallennetusta lähdekoodista set tilapainenTiedosto to "KOVALEVYNNIMI Media:Users:käyttäjänimi:Desktop:tiedostonimi.txt" set loydettyLinkki to parseHTMLFile(tilapainenTiedosto, "<a href=\"https://haettavaosoite", "</a>", false) -- Puhdistetaan löydetty linkki set loydettyLinkkiPuhdas to parseHTMLTag(loydettyLinkki)
Satunnaisnumero[muokkaa]
set satunnainenNumero to random number from 1 to 999
Muuttujan sisältö leikepöydälle[muokkaa]
-- Asetetaan muuttujien sisällöt leikepöydälle set the clipboard to (muuttuja1 & " " & muuttuja2)
Näppäimistöltä ohjaaminen[muokkaa]
- Ohjelmia voidaan ohjata myös "näppäimistöltä"
tell application "System Events" key code 19 using {control down} -- ctrl + 2 vaihtaa näyttöön numero kaksi end tell delay 1.0 -- lisätään tarvittaessa viivettä ennen seuraavaa toimenpidettä * Safari-sivu sähköpostiksi <pre> tell application "System Events" tell process "Safari" set frontmost to true click menu item "Email This Page" of menu of menu item "Share" of menu "File" of menu bar 1 end tell end tell
Tekstin muokkaaminen[muokkaa]
Esimerkiksi muuttujassa olevasta tekstistä sen osien poistaminen tai muuttaminen tapahtuu esim. http://applescript.bratis-lover.net/library -sivulla olevien skriptien avulla kuten RemoveFromString
Tiedostonimen asettaminen[muokkaa]
- Satunnaisnumeroa käyttäen
set satunnainenNumero to random number from 1 to 99999 set tiedostoNimi to "Tiedostonimi" & satunnainenNumero & ".txt"
Tiedostopolun asettaminen[muokkaa]
- set tiedostoPolku to "~/Desktop/" & tiedostoNimi
- Katso kovalevynnimi esimerkiksi Finderista kohdasta Devices, jossa se on ilmoitettu niin, että asetat koko nimen ennen kaksoispistettä. Esimerkissä nimi sisältää sanan Media. Käyttäjätunnuksen saat tietää esim. pääteohjelmassa komennolla pwd
set tiedostoPolku to "KOVALEVYNNIMI Media:Users:kayttajatunnus:Desktop:tiedostonimi.txt"
- Tiedostonimen ja hakemiston valitseminen
set jokuPolku to choose file name with prompt "Tallenna tiedostoon:" set jokuPolku to jokuPolku & ".txt" as text -- lisätään .txt ja määritellään tekstitiedostoksi
- Tiedoston valitseminen ponnahdusikkunassa
set jokuPolku to choose file with prompt "Valitse tiedosto:"
- Kuvatiedoston valitseminen ponnahdusikkunassa
set tiedostoNimi to choose file with prompt "Valitse kuvatiedosto:" of type {"public.image"}
- Tiedostonimen muuttaminen muotoon: /Users/käyttäjänimi/Desktop/tiedostonimi.jpg
set tiedostoNimi to choose file with prompt "Valitse kuvatiedosto:" of type {"public.image"} set tiedostoNimi to POSIX path of the tiedostoNimi
- Tiedosto-info?
display dialog name of (info for "/Users/käyttäjänimi/Desktop/hakemisto/tiedostonimi.jpg")
Tiedostojen määrä kansiossa[muokkaa]
-- Haetaan työpöydällä olevasta kansiosta tiedostojen lukumäärä tell application "Finder" set tyopoyta to path to desktop folder set tiedostoKansio to folder "kansionnimi" of tyopoyta count files of tiedostoKansio set tiedostojenLkm to result end tell
Tiedoston tallentaminen[muokkaa]
- Komentorivikomennolla echo. >> kirjoittaa tiedoston jatkoksi ja pelkkä yksi > kirjoittaa uuden tiedoston. Joku muuttuja voi olla esim. teksti tai linkki.
do shell script "echo " & jokuMuuttuja & " >> ~/Desktop/" & tiedostoNimi & ".txt"
Tiedoston lukeminen[muokkaa]
on lueTiedosto() set jokuLuettelo to {} set tiedosto to choose file of type "txt" with prompt "Valitse tiedosto:" open for access tiedosto set jokuLuettelo to (read tiedosto) as text close access tiedosto -- display dialog linkkiLuetteloc return jokuLuettelo end lueTiedosto
Tiedoston poistaminen[muokkaa]
tell application "Finder" try set tyopoyta to path to desktop folder set polku to folder "kansionimi" of tyopoyta delete the file "tiedostonimi.txt" in polku delete (every item of polku whose name ends with ".jpg") delete (every item of folder (path to desktop folder) whose name begins with "tiedostonimenalku") on error display dialog ("Tiedostojen poistaminen ei onnistunut") buttons {"Ok"} end try end tell
Tiedoston lataaminen internetistä[muokkaa]
- Nouto internetistä tietokoneen hakemistoon listan mukaan. Lista voi olla esimerkiksi käyttäjältä pyydettyjä tiedostonnimiä tai internetosoitteita.
set tiedostoPolku to "~/Desktop/" repeat with i from 1 to length of jokuLista set kuvanOsoite to item i of jokuLista set hakuKomento to "/opt/local/bin/wget -P " & kuvanOsoite set hakuKomento to "/opt/local/bin/wget -P " & tiedostoPolku & "/ " & kuvanOsoite do shell script hakuKomento end repeat
Tiedoston tunnistenumero (ID)[muokkaa]
- Vastaus esim. com.apple.iChat
tell application "Finder" get id of application file "Messages" of folder "Applications" of startup disk end tell
Puhdas URL-osoite HTML-tekstistä[muokkaa]
on parseHTMLTag(theHTMLTag) set AppleScript's text item delimiters to "\"" set theHTMLTagElements to text items of theHTMLTag set AppleScript's text item delimiters to "" if length of theHTMLTagElements is greater than 1 then return item 2 of theHTMLTagElements return "" end parseHTMLTag
Uusi tekstitiedosto työpöydälle[muokkaa]
set tiedostoNimi to "tiedostonimi.txt" set polku to (path to desktop from user domain) as string set tiedosto to polku & tiedostoNimi tell application "Finder" if not (exists file tiedosto) then make new file at folder polku with properties {name:tiedostoNimi} end if end tell
Tiedostonimen muuttaminen[muokkaa]
-- Asetetaan tiedostopolku set polku to "~/Desktop" -- Pyydetään kuvalle uusi nimi set nimiKysymys to display dialog "Uuden tiedoston nimi?" default answer "" with icon note buttons {"Lopeta", "Seuraava"} default button "Seuraava" set vastaus to button returned of nimiKysymys if vastaus is equal to "Lopeta" then exit repeat else set uusiNimi to text returned of nimiKysymys end if -- Nimetään tiedosto uudestaan -- set vanhaNimi to rightStringFromRight(kuvanOsoite, "/") -- ks. rightStringFromRight -skripti tältä sivulta tell application "System Events" to set name of file (polku & "/" & vanhaNimi) to (uusiNimi & ".jpg")
Toiminnan etenemisen seuraaminen[muokkaa]
-- Asetetaan seuranta set kohteidenLkm to length of jokuLista set progress total steps to kohteidenLkm set progress completed steps to 0 set progress description to "Suoritetaan jotain..." set progress additional description to "Valmistaudutaan johonkin." repeat with i from 1 to length of jokuLista set progress additional description to "Suoritetaan kohdetta " & i & " / " & kohteidenLkm toiminta tähän set progress completed steps to i end repeat
Päätekomennon suorittaminen[muokkaa]
- Komentorivin komennossa olevat sitaatit merkitään \" tai \\\". Tarpeen vaatiessa määritetään komennon tiedostopolku, joka täytyy selvittää esim. locate-komennolla pääte-ohjelmassa.
set tiedostoNimi to "~/Desktop/tiedostonimi.txt set jokuKomento to "/usr/local/bin/komento -a \\\"N%d°%.3f\\\" " & tiedostoNimi set jokuKomento to "/usr/local/bin/komento -a \\\"N%d°%.3f\\\" " & tiedostoPolku & "/" & tiedostoNimi do shell script jokuKomento set jokuMuuttuja to result as text -- tallennetaan komennolta tuleva tieto muuttujaan
do shell script "/bin/bash /Users/<käyttäjätunnus>/polku/tiedostonimi.sh"
Pääte-ohjelma[muokkaa]
#!/bin/bash osascript <<EOF tell application "Safari" end tell EOF chmod +x ~/Desktop/tiedostonimi
Python ja AppleSpript[muokkaa]
AppleScipt–Python -muunnostalulukko
Python-komennon suorittaminen Apple Scriptissä[muokkaa]
do shell script "python -c 'print \"Teksti\"'"
Python-ohjelman kutsuminen Apple Scriptissä[muokkaa]
Seuraava skripti suorittaa työpöydällä olevan Python ohjelman.
Jostain syystä tämä ei kuitenkaan suorita kirjastojen hakuja.
set script_path to "$HOME/Desktop/" do shell script "python " & script_path & "tiedostonimi.py"
- Tarvittaessa tekstikoodaus
#!/usr/bin/python # -*- coding: utf-8 -*-
AppleScriptin kutsuminen Pythonissa[muokkaa]
Seuraava Python-ohjelma laittaa nukkumaan.
import os os.system("""osascript -e 'tell app "Finder" to sleep'""")
import os komento = """osascript<<END komento tähän usealle riville end tell END""" def aliohjelma(): os.system(komento) aliohjelma()
Tämä on epäselvä: Python yhdistetään Scripting Bridge Frameworksin kanssa Apple Scriptiin.
from Foundation import * from ScriptingBridge import * iTunes = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes") print iTunes.currentTrack().name()