Archive for the ‘mac os x’ Category

Открыть и сохранить

Friday, August 22nd, 2008

Скрипт открывает страницу в Safari и сохраняет ее как myfile_03-05-2008.html

tell application "Safari"
 	activate
	make new document at end of documents
	set URL of document 1 to "http://mymans.org"
	get document 1
	delay 3
	set pathToSave to (path to desktop as text) & ("myfile_") & (do shell script "date '+%d-%m-%Y'")
	save document 1 in file pathToSave
end tell

Вызов *.app приложения из Perl

Wednesday, April 23rd, 2008
system ("open /Users/myuser/Desktop/sendit.app");

Дебаг для Safari под Window

Monday, March 31st, 2008

добавить в

C:\Documents and Settings\%username%\
Application Data\Apple Computer\Safari\Preferences.plist

строчки

IncludeDebugMenu

автор Pavel Grishin

Вызов JS через AppleScript

Wednesday, March 5th, 2008

Ага, не удивляйтесь, но AppleScript позваляет управлять JavaScript на прямую через браузер. Например вызывать alert

tell application "Safari"
	do JavaScript "alert('hi')" in document 1
end tell

Или вызвать функцию на странице

tell application "Safari"
	do JavaScript "doSome()" in document 1
end tell

Скрипт на выходе

Monday, March 3rd, 2008

Хотите что бы при выключениии мака выполнялось некое действие? Тогда сделайте следующее

sudo defaults write com.apple.loginwindow LogoutHook /path/to/script

Занятная утилитка

Friday, February 29th, 2008

Занятная консольная утилитка в маке mdls позваляет читать мета информацию из практически любых файлов, но предназначена прежде всего читать мету фотографий

mdls 18788.jpg
18788.jpg -------------
kMDItemAcquisitionMake         = "Canon"
kMDItemAcquisitionModel        = "Canon EOS-1Ds Mark II"
kMDItemAperture                = 5.375
kMDItemAttributeChangeDate     = 2008-02-27 09:39:33 +0300
kMDItemBitsPerSample           = 32
kMDItemColorSpace              = "RGB"
kMDItemContentCreationDate     = 2008-02-05 17:30:00 +0300
kMDItemContentModificationDate = 2008-02-05 17:30:00 +0300
kMDItemContentType             = "public.jpeg"
kMDItemContentTypeTree         =
("public.jpeg", "public.image", "public.data", "public.item", "public.content")
kMDItemCreator                 = "Adobe Photoshop CS2 Macintosh"
kMDItemDisplayName             = "18788.jpg"
kMDItemEXIFVersion             = "2.2.1"
kMDItemExposureMode            = 0
kMDItemExposureTimeSeconds     = 0.06666667
kMDItemFlashOnOff              = 0
kMDItemFocalLength             = 14
kMDItemFSContentChangeDate     = 2008-02-05 17:30:00 +0300
kMDItemFSCreationDate          = 2008-02-05 17:30:00 +0300
kMDItemFSCreatorCode           = 0
kMDItemFSFinderFlags           = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "18788.jpg"
kMDItemFSNodeCount             = 0
kMDItemFSOwnerGroupID          = 502
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 3260810
kMDItemFSTypeCode              = 0
kMDItemHasAlphaChannel         = 0
kMDItemID                      = 1079837
kMDItemISOSpeed                = 250
kMDItemKind                    = "JPEG Image"
kMDItemLastUsedDate            = 2008-02-05 17:30:00 +0300
kMDItemOrientation             = 0
kMDItemPixelHeight             = 3328
kMDItemPixelWidth              = 4992
kMDItemProfileName             = "Adobe RGB (1998)"
kMDItemRedEyeOnOff             = 0
kMDItemResolutionHeightDPI     = 507.187
kMDItemResolutionWidthDPI      = 507.187
kMDItemUsedDates               = (2008-02-05 17:30:00 +0300)
kMDItemWhiteBalance            = 0

Если в Photoshopе добавить информацию через file info то она тоже отобразится в этом списке. Читать таким образом можно не только изображения но любой файл. Даже php и не обязательно читать все подряд, используя аргумент -name можно получить лишь строку

mdls -name kMDItemDisplayName  com.php
component.php -------------
kMDItemDisplayName = "component.php"

Скриншоты через консоль

Wednesday, February 27th, 2008

Выполнив этот скрипт вы получите скриншот в своей корневой папке

/usr/sbin/screencapture ~/Picture1.png

но это было бы не так интересно если бы нельзя было изменить параметры

/usr/sbin/screencapture -tgif -x 1.gif

-x сделай все тихо, а значит не издавать звука при съёмке
-t
изменить формат изображения, по умолчанию это png

/usr/sbin/screencapture -tgif -x 1.gif

Циклическое выполнение по таймаутам

Tuesday, February 26th, 2008

Данный код будет выполнять однообразное действие 900 раз с отступом в 30 секунд

tell application ...
repeat 900 times
....
delay 30
end repeat
end tell

Но думаю ключевое слово здесь однообразное, хотелось бы получить переменную шага, для этого надо чуть поменять код

tell application ...
repeat with i from 1 to 900 times
....
delay 30
end repeat
end tell

Теперь переменную i можно использовать для кода внутри цикла

Создаем нужные папки в нужном месте

Tuesday, February 19th, 2008

Неплохой скриптик, создает новые папки в нужном месте.

set a to choose folder -- выводит диалог для определения папки
-- в которой создадуться новые
set new_sub_list to {"folder1", "folder2"} -- имена новых папок
tell application "Finder"
	repeat with nf in new_sub_list
		make new folder in a with properties {name:nf}
	end repeat
end tell

Post запрос через curl

Tuesday, February 12th, 2008

Используя аргумент -d можно создавать POST запрос

$ curl -d 'name=u00009_mymans&int=10' http:someurl/test.php

и если в test.php поставить строчку

print_r($_POST);

то ответ будет

Array
(
    [name] => u00009_mymans
    [int] => 10
)