Ich versuche, einen Automator-Dienst zu erstellen, der auf ausgewählten Text reagiert, Bindestriche in Leerzeichen umwandelt und auch Wortkappen für den gesamten Text erstellt.
Ein Freund hat mir dieses Python-Skript gegeben (ich weiß nichts über Python- oder Shell-Skripte):
#! /usr/bin/python
cliptext = "%clipboard"
print cliptext.replace('-', ' ').replace('%', ' ').replace('&', ' and ').replace('#', ' ').title()
Es funktioniert hervorragend als TextExpander-Snippet, aber ich möchte es auch im Menü "Dienste" verfügbar haben. Ich brauche es nicht, um eine bestimmte Skriptsprache zu verwenden, es muss nur in Automator ausgeführt werden. Mein Programmierkumpel hatte keine Erfahrung mit Automator, also konnte er nicht helfen. Sein Skript erfordert das Kopieren des Textes in die Zwischenablage, führt dann die Formatierung aus und fügt das Ergebnis ein. Ich möchte dies einfach auf den ausgewählten Text ausführen können und mich nicht mit der Zwischenablage befassen müssen (zumindest manuell).
Die besondere Verwendung dafür ist das Umbenennen von Foto-Uploads auf Flickr, da Flickr den Dateinamen verwendet, um den Fotonamen zu generieren. Beim Exportieren von Bildmaterial über Photoshop oder Illustrator mit „Für Web speichern“ sind Kleinbuchstaben und Bindestriche meine Standardeinstellungen. Ich möchte in der Lage sein, den Flickr-Titel hervorzuheben und dann den Dienst auszuführen, um den Dateinamen in einen korrekt formatierten Titel umzuformatieren.
Das ist nicht allzu schwierig, man muss nur die richtige Magie kennen. Ich werde es dir zeigen.
~/Library/Services/
Ordner.import sys
for f in sys.stdin:
print f.replace('-', ' ').replace('%', ' ').replace('&', ' and ').replace('#', ' ').title(),
Georg C