Applescript: Tanka hem dagens aktiva diskussioner

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1

Hejsan!

Har problem med ett script i Mac OS 9. Har gjort ett script som laddar hem webbsidan dagens aktiva diskussioner här på 99mac.com till en fil på hårddisken. Det fungerar fint när jag kör det i manusredigeraren. När jag skapar en Applet av scriptet så fungerar det också. När jag får programvaran Cron att köra scriptet så klagas det på att en variabel inte är definierad. Om någon har några idéer om vad felet är så får ni gärna höra av er, här är scriptet.

Citat:

code:<pre style="font-size:x-small; font-family: monospace;">(*
99MAC.COM LADDA HEM DAGENS AKTIVA DISKUSSIONER
----------------------------------------------------------------
Av: Intelligent Mammals HB, 2002-09-11
Ola@intelligentmammals.com
http://www.intelligentmammals.se/
08-656 88 83 / 0709-66 01 99

Detta manus laddar hem webbsidan "Dagens Aktiva diskussioner" på det populära webbforumet
för Mac-användare 99mac.com. Manuset sparar sidan med dagens datum i en mapp med dagens
datum på.

Om du kombinerar detta manus med tex Cron som kan köra Applescript på inställda tider
så kan du fem i tolv ladda hem dagens aktiva diskussioner och riskerar inte att missa något.

*)

on run
(*
Först kollar vi om det finns en mapp som heter Dagens aktiva på skrivbordet, om inte
skapas den.
*)
tell application "Finder"
if (folder "Dagens Aktiva" of desktop exists) is not true then
set the DailyFolder to make new folder at desktop ¬
with properties {name:"Dagens Aktiva", comment:"Innehåller Dagens aktiva diskussioner på 99mac.com"}
else
set DailyFolder to "Macintosh HD:Desktop Folder:Dagens Aktiva:"
set DailyFolder to item DailyFolder as alias
end if

(*
Dags att skapa ett namn på mappen utifrån dagens datum
Först tar vi fram månaden i form av en siffra, om den är mindre än 10 så skall vi lägga
till en nolla framför. Detsamma gäller dagen.
Sedan sätter vi ihop detta till ett namn på en mapp och om den inte finns skapar vi den.
*)
set toDay to current date
set DailyMonth to month of toDay
set monthsOfTheYear to {"Januari", "Februari", "Mars", "April", "Maj", "Juni", ¬
"Juli", "Augusti", "September", "Oktober", "November", "December"}
set monthnr to 0 as integer
repeat with monthName in monthsOfTheYear
if (DailyMonth as text) = (monthName as text) then
set monthnr to monthnr + 1
exit repeat
end if
end repeat
if (monthnr as number) < 10 then
set monthnr to "0" & (monthnr as text)
end if
set daynumber to day of toDay
if daynumber < 10 then
set daynumber to "0" & (daynumber as text)
end if

set DailyDate to (year of toDay & "-" & (monthnr as text) & "-" & daynumber) as string

set destination to (DailyFolder as string) & (DailyDate as string)

(*
Kolla om den mappen finns, om inte, skapa den.
*)
if exists (folder destination) then
set destination to item destination as alias
else
make new folder at DailyFolder with properties {name:(DailyDate as string)}
set destination to result
end if

(*
Vi behöver även skapa en fil som vi kan ladda in sidan i.
*)
set fileName to DailyDate & ".html"
set fileName to (destination as string) & fileName
if exists (file fileName) then
set fileName to item fileName as alias
else
make new file at destination ¬
with properties {name:fileName, creator type:"MSIE", file type:"TEXT"}
set fileName to result
end if
end tell

(*Dags att ladda hem sidan i mappen och spara den där.
*)
tell application "URL Access Scripting" --
download "http://99mac.com/ubb/ultimatebb.php?ubb=get_daily" to fileName replacing yes with progress
end tell

end run</pre>

Kan väl lägga till att planen är att bygga vidare på scriptet så att det laddar hem dagens aktiva diskussioner och gör det möjligt att surfa omkring i gårdagens aktiva diskussiuoner och även längre tillbaka osv.

Kan vara praktiskt.

/Ola

du sitter på modem eller?

  • Medlem
  • Stockholm
  • 2002-09-13 19:05

Dagens aktiva diskussioner sträcker sig dock längre än vad som kan visas på en sida, hur gör du för att få tag på alla diskussioner?

Johan S: Jag sitter inte på modem (har ADSL) och jag förstår inte heller frågan riktigt.

Linus: Har planerat en utbyggnad till som jag inte gjort klart. Jag låter Applescript läsa filen och se vad som står efter "Totalt antal aktiva diskussioner:". Om siffran där är större än 50 så skapa en fil till och ladda hem URL´en: "http://99mac.com/forum/ultimatebb.cgi?ubb=get..." osv...

Det är ett intressant experiment för att se vad Applescript kan (vilket jag håller på och lär mig).

/Ola

1
Bevaka tråden