Auto-Hotkey-JSON for Python
Project description
ahk-json
This is an extension package intended to be used with the Python ahk package.
It provides interfaces from cocobelgica/AutoHotkey-JSON for
working with JSON in AutoHotkey. The extensions in this package do not provide any additional methods,
but simply provide a convenient way to include Jxon.ahk
and/or JSON.ahk
into other extensions.
This package provides two extensions: JXON
and JSON
. It also registers a JSON message type (ahk_json.message.JsonResponseMessage
)
Installation
Install this extension using pip
pip install ahk-json
Usage
Typically, you use this as a dependency when building your own extensions.
In the following example, a simple extension (my_extension
) is created. It implements an AHK function MyTestFunction
-- the registered to the extension using the Python function my_test_function
.
from ahk.extensions import Extension
from ahk import AHK
from ahk_json import JXON # importing is necessary for ``extensions='auto'`` to work, even if this is not used
ext_script = '''\
MyTestFunction(ByRef command) {
arg := command[2]
obj := Object("test", arg)
res := Jxon_Dump(obj) ; this is available thanks to the extension
return FormatResponse("ahk_json.message.JsonResponseMessage", res)
}
'''
my_extension = Extension(script_text=ext_script)
@my_extension.register
def my_test_function(ahk: AHK, arg: str):
return ahk.function_call('MyTestFunction', [arg])
def main():
ahk = AHK(extensions='auto') # automatically use all imported/created extensions
# or use the extensions explicitly:
# ahk = AHK(extensions=[JXON, my_extension])
# now ``.my_test_function`` is a method on the `ahk` instance:
assert ahk.my_test_function('foo') == {'test': 'foo'}
License
This work is licensed under the MIT license.
This package includes substantial portions of the original AutoHotkey-JSON. The code included from AutoHotkey-JSON is owned and copyrighted by its original author(s) and is used/redistributed under the terms of the WTFPL.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ahk_json-0.1.0rc2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64fcf02a98623df3322ed617bb78652d5aa427cff1180674ab7c792a7e688ff9 |
|
MD5 | 900ca1ebd3f9f1881dda5394b5688cfc |
|
BLAKE2b-256 | 0882c636789d1e970d1ab682968e4f108901fd11014959b076e8c81460e66838 |