开发者

python appscript module - creating k. type objects

I'm learning and enjoying the appscript module, but I'm a little confused about how to instantiate basic k. type objects. for example, if I want to create a variable that holds a k.boolean v开发者_开发百科alue to use while scripting an application, how do I create it, and then pass it to the set() method of a property within that application?

let's say I'm scripting Adobe Illustrator:

il = app('Adobe Illustrator')
doc = il.current_document.get()
layers = doc.layers.get()
layer = layers[1]

in Illustrator, a layer object has a property layer.visible, which has a k.boolean value.

how do I create a variable m which is a k.boolean type, such that:

layer.visible.set(m)

will set the .visible property to a different k.boolean value?

m = k.boolean(True) # doesn't work
m = make(new k.boolean) # doesn't work


Appscript will perform casts from Python types to the Apple Event types internally, so you can use a normal Python bool variable:

Make the layer visible:

flag = True
layer.visible.set(flag)

Toggle the layer on/off:

flag = not layer.visible.get()
layer.visible.set(flag)

The Python type -> AE type mapping can be found here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜