osaka
osaka copied to clipboard
Apple Application automation library using applescript (osascript)
Osaka - apple OSA script Kontrolling the Application (OSAKA :P) This is a Ruby library for automating work via GUI on Mac (using OSA/Applescript)
= How to install
$ sudo gem install osaka
= Note before use
You have to enable the "access for assistive devices" for the scripts to run. You do this via System Preferences -> Universal Access / Accessibility -> "enable access for assistive devices"
= How to use
Examples:
Example: Using Osaka Flows to merge multiple keynote files.
require 'osaka'
Convert all keynote files in dir "dirname" with the search pattern "pattern" and write it in "results.key"
CommonFlows.keynote_combine_files_from_directory_sorted("results.key", "dirname", /^\d+.*.key$/)
Example: Controlling Keynote
require 'osaka'
Create a new application-specific wrapper
app = Osaka::Keynote.new
Open a keynote file
app.open "presentation.key"
Show a print dialog
dialog = app.print_dialog
Save as PDF
dialog.save_as_pdf("presentation.pdf")
Quit
app.quit
Example: Controlling Numbers
require 'osaka'
Create a new application-specific wrapper
app = Osaka::Numbers.new
Open a file
app.open "Numbers.numbers"
Change a field
app.fill_cell(1, 4, "Hello World!")
Save and quit
app.save app.quit
Example: Using the lower-level remote control
require 'osaka'
Create an application wrapper
calculator = Osaka::RemoteControl.new("Calculator")
Start the application
calculator.activate calculator.focus
Control the calculator
calculator.click!(at.button("1").group(2)) calculator.click!(at.button("+").group(2)) calculator.click!(at.button("4").group(2)) calculator.click!(at.button("=").group(2))
calculator.quit
Example: Same as above using the Calculator class
require 'osaka' calculator = Osaka::Calculator.new calculator.activate calculator.click("1") calculator.click("+") calculator.click("4") calculator.click("=") calculator.quit
API document: To be done.
= Source code
https://github.com/basvodde/osaka
The license of this source is "BSD Licence"
= Note on current version (0.4.0)
Current version is reasonably well tested on snow leopard, lion and mountain lion. It has been used to automate keynote, pages, and numbers work. Additional functionality would be useful but hasn't been needed yet. If you do need additional functionality, please extend it and send me a pull request :)
= Supported environments
1.9.x.
= Author
Bas Vodde - basv AT odd-e.com