A python library to communicate with the WebNowPlaying-Redux browser extension
Project description
PyWNP
A Python library to communicate with the WebNowPlaying-Redux browser extension.
Refer to this if you want to create or submit your own adapter.
Installing
Install via pip: pip install pywnp
Usage
from pywnp import WNPRedux
import time
# Custom logger, type can be 'Error', 'Debug' or 'Warning'
def logger(type, message):
print(f'{type}: {message}')
# Start the WebSocket, providing a port, version number and a logger
WNPRedux.Initialize(1234, '1.0.0', logger)
# Write the current title to the console and pause/unpause the video for 30 seconds
for i in range(30):
print(WNPRedux.mediaInfo.Title)
WNPRedux.mediaEvents.TogglePlaying()
time.sleep(1)
# Close the WebSocket
WNPRedux.Close()
WNPRedux.Initialize(port, version, logger, listenAddress = '127.0.0.1')
Opens the WebSocket if it isn't already opened.
port
should not be used by other adapters already, or interfere with any other programs.
version
has to be 'x.x.x'.
WNPRedux.isInitialized
Whether WNPRedux is initialized or not.
WNPRedux.Log(type, message)
Calls the logger
provided in WNPRedux.Initialize()
WNPRedux.Close()
Closes the WebSocket if it's opened.
WNPRedux.clients
Number of clients currently connected.
WNPRedux.mediaInfo
Information about the currently active media.
Name | Default | Description |
---|---|---|
Player |
'' | Current player, e.g. YouTube, Spotify, etc. |
State |
'STOPPED' | Current state of the player ('STOPPED', 'PLAYING', 'PAUSED') |
Title |
'' | Title |
Artist |
'' | Artist |
Album |
'' | Album |
CoverUrl |
'' | URL to the cover image |
Duration |
'0:00' | Duration in (hh):mm:ss (Hours are optional) |
DurationSeconds |
0 | Duration in seconds |
Position |
'0:00' | Position in (hh):mm:ss (Hours are optional) |
PositionSeconds |
0 | Position in seconds |
PositionPercent |
0.0 | Position in percent |
Volume |
100 | Volume from 1-100 |
Rating |
0 | Rating from 0-5; Thumbs Up = 5; Thumbs Down = 1; Unrated = 0; |
RepeatState |
'NONE' | Current repeat state ('NONE', 'ONE', 'ALL') |
Shuffle |
False | If shuffle is enabled |
WNPRedux.mediaEvents
Events to interact with the currently active media.
This isn't guaranteed to always work, since e.g. Spotify has no 'dislike' button,
skip buttons might be disabled in certain scenarios, etc.
Name | Description |
---|---|
TogglePlaying() |
Pauses / Unpauses the media |
Next() |
Skips to the next media/section |
Previous() |
Skips to the previous media/section |
SetPositionSeconds(seconds) |
Sets the medias playback progress in seconds |
RevertPositionSeconds(seconds) |
Reverts the medias playback progress by x seconds |
ForwardPositionSeconds(seconds) |
Forwards the medias playback progress by x seconds |
SetPositionPercent(percent) |
Sets the medias playback progress in percent |
RevertPositionPercent(percent) |
Reverts the medias playback progress by x percent |
ForwardPositionPercent(percent) |
Forwards the medias playback progress by x percent |
SetVolume(volume) |
Set the medias volume from 1-100 |
ToggleRepeat() |
Toggles through repeat modes |
ToggleShuffle() |
Toggles shuffle mode |
ToggleThumbsUp() |
Toggles thumbs up or similar |
ToggleThumbsDown() |
Toggles thumbs down or similar |
SetRating(rating) |
Sites with a binary rating system fall back to: 0 = None; 1 = Thumbs Down; 5 = Thumbs Up |
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
File details
Details for the file pywnp-1.1.0.tar.gz
.
File metadata
- Download URL: pywnp-1.1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ca64c4ee856b32b6c1fb135f4af97cbd95b4949c2a45c868b2b00bfe986e4ab |
|
MD5 | 823114204fece42222b6f28a3a68225b |
|
BLAKE2b-256 | ee679fbe8ecf6b33ddee633afaa3e5125c86334a869031a328d7ac5962f80e0c |
File details
Details for the file pywnp-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: pywnp-1.1.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9570b21f87fe7425ddb031b9f274e6460ca9c14e7179e64d65063818cbbf919 |
|
MD5 | 02e3e7a18eec7a2c0f10d5935c04068f |
|
BLAKE2b-256 | ce0e1a93d517d2b4e464df199e50b55244a3d8190beb80ce923c6e0c21f69845 |