Applescript: files schrijven

Hi

Effe situatie schetsen: ik ben programmeur maar van applescript ken ik nix (of heel weinig)

Wat ik graag wil: ik wil een lijstje van alle playlisten in itunes naar een html combo box converteren

[code:1:221276fe71]
tell application "iTunes"
set all_the_playlists to the name of every playlist

-- hier zou de rest moeten komen :D

end tell

[/code:1:221276fe71]

dit geeft mij een variabele waarin al de playlisten zitten (laten we veronderstellen: Een, Twee, Drie, Vier en Vijf)

de bedoeling is dan dat het in de volgende html code komt:

[code:1:221276fe71]
<select id="playlist" >
<option value="Een" >Een</option>
<option value="Twee" >Twee</option>

</select>
[/code:1:221276fe71]

en dat deze code in een bestaand bestand wordt geschreven (nadat het eerst leeggemaakt is)

wat ik dus nodig heb:

  1. lusje dat over de playlisten uit “all_the_playlists” gaat… en dan htmlcode aanmaakt
  2. code om de ‘htmlcode’ in de file te schrijven

iemand een idee hoe ik dit het best kan aanpakken?

ik zit al een tijd te surfe naar een oplossing maar ik heb nog nix gevonde dat werkt… dus alle hulp is welkom (ook links naar goede sites/tutorials)

Alvast bedankt

Lesly

Hier al gekeken? http://www.dougscripts.com/itunes/

Dit komt wel dichtbij: http://www.dougscripts.com/itunes/scripts/ss.php?sp=exportashtmltable

Ik heb zelf iets om al mijn nummers in HTML te zetten zodat ik die online kan zetten. Maar ik denk dat dit je al een beetje op weg helpt denk ik

voor vragen vraag maar

[code:1:f2569c8b02]
set playlists to {"Een", "Twee", "Trance", "Classic", "Rock"}
set theTags to "<select id="playlist" >" & return
set theTag to tab & "<option value="PlayListName" >PlayListName</option>"
set endTag to "</select>"

repeat with x from 1 to count playlists
set thePlaylist to item x of playlists
set thenewTag to stringReplace(theTag, "PlayListName", thePlaylist)
set theTags to theTags & thenewTag & return as string
end repeat

set theHTMLCode to theTags & endTag as string

on stringReplace(theString, oldString, newString)
set AppleScript’s text item delimiters to oldString
set theText to every text item of theString
set AppleScript’s text item delimiters to newString
set theText to theText as string
set AppleScript’s text item delimiters to “”
return theText
end stringReplace[/code:1:f2569c8b02]

Bedankt... :lol:

Graag gedaan en ik heb hier een script waarbij ik de layout van de webpagina heb weggelaten omdat het anders te groot zou worden voor dit forum. Normaal is het zo dat ik de track name in de eerst kolom doe en de artiest in de tweede maar heb je even een voorbeeld van hoe je html document kunt maken met al je track namen op een heel eenvoudige manier

[code:1:dfeaee87c6]starting()

on starting()
set {theTags, theTag, endTag} to getHtmlTags()
tell application "iTunes"
set theTracks to every track of library playlists
repeat with x from 1 to count item 1 of theTracks
set theTrack to item x of item 1 of theTracks
set theTrackName to name of theTrack
set thetrackartist to artist of theTrack
set thenewTag to my stringReplace(theTag, "TrackName", ((theTrackName & " → " & thetrackartist) as string))
set theTags to theTags & thenewTag & return as string
end repeat
end tell
set theHTMLCode to theTags & endTag as string

set theFile to &#40;path to desktop folder&#41; &amp; &quot;PlayList.html&quot; as string
try
	open for access file theFile with write permission
	set eof file theFile to 0
	write theHTMLCode to file theFile
	close access file theFile
on error errMSG
	display dialog errMSG buttons &#123;&quot;OK&quot;&#125; default button &quot;OK&quot;
	close access file theFile
end try

end starting

on stringReplace(theString, oldString, newString)
set AppleScript’s text item delimiters to oldString
set theText to every text item of theString
set AppleScript’s text item delimiters to newString
set theText to theText as string
set AppleScript’s text item delimiters to “”
return theText
end stringReplace

on getHtmlTags()
set theTags to "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Playlist</title>
<style type="text/css">
<!–
.style1 {
font-size: 36px;
font-weight: bold;
}

</style>
</head>
<body>
<p class="style1">PlayList van DJ Bazzie Wazzie
</p>" & return & "<p>"
set theTag to tab & "TrackName<br>"
set endTag to "</p>
</body>
</html>"
return {theTags, theTag, endTag}
end getHtmlTags[/code:1:dfeaee87c6]