Python module for controlling xbmc over HTTP Json API
Project description
[![Python Versions](https://img.shields.io/pypi/pyversions/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Wheel status](https://img.shields.io/pypi/wheel/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Licence](https://img.shields.io/pypi/l/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Travis](https://img.shields.io/travis/jcsaaddupuy/python-xbmc.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![codecov](https://codecov.io/gh/jcsaaddupuy/python-xbmc/branch/master/graph/badge.svg)](https://codecov.io/gh/jcsaaddupuy/python-xbmc)
python xbmc json client
=======================
Simple python module that allow xbmc control over HTTP Json API.
Virtually support all availables commands.
Install it :
```bash
pip install xbmc-json
```
Usages examples :
Client instanciation
```python
from xbmcjson import XBMC, PLAYER_VIDEO
#Login with default xbmc/xbmc credentials
xbmc = XBMC("http://YOURHOST/jsonrpc")
#Login with custom credentials
xbmc = XBMC("http://YOURHOST/jsonrpc", "login", "password")
```
Ping XBMC
```python
print xbmc.JSONRPC.Ping()
```
UI interaction :
```python
# Navigate throught windows
xbmc.GUI.ActivateWindow({"window":"home"})
xbmc.GUI.ActivateWindow({"window":"weather"})
# Show some notifiations :
xbmc.GUI.ShowNotification({"title":"Title", "message":"Hello notif"})
# ...and so on
```
Parameters can alos be passed as python parameters:
```python
xbmc.GUI.ActivateWindow(window="home")
xbmc.GUI.ActivateWindow(window="weather")
xbmc.GUI.ShowNotification(title="Title", message = "Hello notif")
```
Library interaction :
```python
xbmc.VideoLibrary.Scan()
xbmc.VideoLibrary.Clean()
# ...and so on
```
Everything to build a script thats act as a full remote
```python
xbmc.Application.SetMute({"mute":True})
xbmc.Player.PlayPause([PLAYER_VIDEO])
xbmc.Player.Stop([PLAYER_VIDEO])
xbmc.Input.Left()
xbmc.Input.Right()
xbmc.Input.Up()
xbmc.Input.Down()
xbmc.Input.Back()
xbmc.Input.Down()
xbmc.Input.Info()
# ...and so on
```
See http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6 for availables commands.
Every XBMC namespaces are accessible from the instanciated xbmc client.
Every commands presents in the [API documentation](http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6) should be available.
You can take a look at [xbmc-client](https://github.com/jcsaaddupuy/xbmc-client) for an implementation example.
Contribute
-----------
Please make your PR on the branch develop :)
[![Wheel status](https://img.shields.io/pypi/wheel/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Licence](https://img.shields.io/pypi/l/xbmc-json.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![Travis](https://img.shields.io/travis/jcsaaddupuy/python-xbmc.svg?maxAge=2592000)](https://pypi.python.org/pypi/xbmc-json/)
[![codecov](https://codecov.io/gh/jcsaaddupuy/python-xbmc/branch/master/graph/badge.svg)](https://codecov.io/gh/jcsaaddupuy/python-xbmc)
python xbmc json client
=======================
Simple python module that allow xbmc control over HTTP Json API.
Virtually support all availables commands.
Install it :
```bash
pip install xbmc-json
```
Usages examples :
Client instanciation
```python
from xbmcjson import XBMC, PLAYER_VIDEO
#Login with default xbmc/xbmc credentials
xbmc = XBMC("http://YOURHOST/jsonrpc")
#Login with custom credentials
xbmc = XBMC("http://YOURHOST/jsonrpc", "login", "password")
```
Ping XBMC
```python
print xbmc.JSONRPC.Ping()
```
UI interaction :
```python
# Navigate throught windows
xbmc.GUI.ActivateWindow({"window":"home"})
xbmc.GUI.ActivateWindow({"window":"weather"})
# Show some notifiations :
xbmc.GUI.ShowNotification({"title":"Title", "message":"Hello notif"})
# ...and so on
```
Parameters can alos be passed as python parameters:
```python
xbmc.GUI.ActivateWindow(window="home")
xbmc.GUI.ActivateWindow(window="weather")
xbmc.GUI.ShowNotification(title="Title", message = "Hello notif")
```
Library interaction :
```python
xbmc.VideoLibrary.Scan()
xbmc.VideoLibrary.Clean()
# ...and so on
```
Everything to build a script thats act as a full remote
```python
xbmc.Application.SetMute({"mute":True})
xbmc.Player.PlayPause([PLAYER_VIDEO])
xbmc.Player.Stop([PLAYER_VIDEO])
xbmc.Input.Left()
xbmc.Input.Right()
xbmc.Input.Up()
xbmc.Input.Down()
xbmc.Input.Back()
xbmc.Input.Down()
xbmc.Input.Info()
# ...and so on
```
See http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6 for availables commands.
Every XBMC namespaces are accessible from the instanciated xbmc client.
Every commands presents in the [API documentation](http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v6) should be available.
You can take a look at [xbmc-client](https://github.com/jcsaaddupuy/xbmc-client) for an implementation example.
Contribute
-----------
Please make your PR on the branch develop :)
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
xbmc-json-0.3.2.tar.gz
(5.0 kB
view hashes)
Built Distribution
Close
Hashes for xbmc_json-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53ea2832ebe27957e5b620ea3dd171495d77b24e046c2fd25496b1cef3140420 |
|
MD5 | 842c8a309d0596a5dcc97992a4a5d63d |
|
BLAKE2b-256 | 7a37445961135d40eaa0a6be7df641aff06762e59f08ceda40426a7874ea5063 |