• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick

[AppleScript] Serverumzug und automatisches umcodieren auf UTF8, jedoch mit Ausnahmen

Promaetheus

Ingrid Marie
Registriert
30.06.10
Beiträge
271
Hallo liebe Forengemeinde!

Ich ziehe mit meiner Webseite auf einen neuen Server, in diesem Zuge stelle ich auch (fast) alle enthaltenen Seiten auf UTF8 um. Lediglich ein paar alte HTML-Seiten dürfen noch in ISO-Codierung bleiben.

Ich habe mir hierfür ein kleines Script geschrieben welches eigentlich ganz gut läuft. Einzig, wenn Textwrangler ein Problem findet, sprich die HTML-Seiten die noch im Header mittels ISO-8859 codiert sind und dies auch bleiben sollen so stoppt das Programm, die Seite wird jedoch trotzdem noch umformatiert.

Hier war das Script vor dem Problem:
Code:
tell application "Finder"
    set theFolder to choose folder
    set theList to entire contents of theFolder as alias list
   
    repeat with thisItem in theList
        if kind of thisItem is not "Ordner" and file type of thisItem is "TEXT" then
           
            tell application "TextWrangler"
                activate
                open thisItem
                set properties of text document 1 to {encoding:8.09004642E+8}
                set properties of text document 1 to {line breaks:Unix}
                save text document 1
                close text document 1
            end tell
           
        end if
    end repeat
   
end tell

Wenn Textwrangler nun sieht dass die Datei im Header ISO codiert ist, so fragt Textwrangler nach ob es die Datei trotzdem so speichern soll. Wenn man abbrechen drückt, so sollte die Datei eigentlich so belassen bleiben, tut sie aber nicht. Ich habe das ganze mal aufgezeichnet, die erste Datei darf umkodiert werden, die zweite jedoch nicht, der aufgenommene Code sieht jedoch leider für beide gleich aus:
Code:
    open {file "PATH2FILE:index.php"} with LF translation
    set properties of text document 1 to {encoding:8.09004642E+8}
    set properties of text document 1 to {line breaks:Unix}
    save text document 1
    close text document 1 saving no
   
    open {file "PATH2FILE:fotogalerie.htm"} with LF translation
    set properties of text document 1 to {encoding:8.09004642E+8}
    set properties of text document 1 to {line breaks:Unix}
    save text document 1
    close text document 1 saving no
Beim zweiten File, welches nicht kodiert werden soll, soll nicht gespeichert werden. Leider nimmt Apple Script jedoch dieses "Abbrechen" nicht auf:
Bildschirmfoto 2016-02-07 um 15.52.52.png

Kann man das im Apple Script vielleicht irgendwie übernehmen oder einfügen, dass wenn ein Error angegeben wird das File nicht umcodiert wird?