Как я могу получить доступ к выбору файла в Path Finder через py-appscript? - PullRequest
0 голосов
/ 08 ноября 2010

С помощью файлового менеджера Path Finder на Mac OS X я хочу получить выбранные файлы / папки с помощью Python, используя py-appscript . py-appscript - это высокоуровневый мост событий, который позволяет управлять скриптовыми приложениями Mac OS X из Python.

В AppleScript это будет что-то вроде

tell application "Path Finder"
 set selection_list to selection -- list of fsItems (fsFiles and fsFolders)
 set _path to posix path of first item of selection_list
 do shell script "python " & quoted form of _path
end tell

В python вместо этого будет что-то вроде

from appscript import *
selectection_list = app('Path Finder').selection.get()   # returns reference, not string

Итак, как мне преобразовать ссылки в selection_list в строки python?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2010

Почему бы вам не попробовать python-яблочный скрипт, он может запустить скрипт яблочного скрипта через pythonПолучите это здесь: http://pypi.python.org/pypi/python-applescript

0 голосов
/ 08 ноября 2010

Я не знаком с Pathfinder, но если у него есть собственный тип URL файла (или, может быть, это путь POSIX?), То, вероятно, есть некоторый разделитель, который разделяет уровни файловой иерархии в пути.Чтобы конвертировать между собой, вам нужно работать с Applescript's text item delimiters.Что-то в этом духе должно работать

set thePathFinderPath to "/pathfinder/path/to/finder"

set pathFinderPathDelimiter to "/" -- whatever it may be here
set finderPathDelimiter to ":"

set AppleScript's text item delimiters to {pathFinderPathDelimiter}
set thePathComponents to (get every text item in thePathFinderPath) as list
set AppleScript's text item delimiters to {finderPathDelimiter}
set theFinderPath to thePathComponents as text
set AppleScript's text item delimiters to "" -- very important you clear the TIDs.

Добавить соль по вкусу.Но, если вы можете привести пример URL-адреса PathFinder, я могу дать лучший ответ.

...