Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pywnp-1.1.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

pywnp-1.1.1-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file pywnp-1.1.1.tar.gz.

File metadata

  • Download URL: pywnp-1.1.1.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

Hashes for pywnp-1.1.1.tar.gz
Algorithm Hash digest
SHA256 ae4e2ebf0cebce72c7075a718148bc79adef79eb8b6359d1f9c1ff0b0a13f82b
MD5 c7a97ea234d2ba4ad5f860e0e2dc1cd5
BLAKE2b-256 2fe7f782a40ff2031959a9b88f3a45eef3e1fd105383da836314189c613322a3

See more details on using hashes here.

File details

Details for the file pywnp-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pywnp-1.1.1-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

Hashes for pywnp-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5b9a0c99ed761fd91d4e74617b20b3bc78ebb033402f60b5d93095ff30b005e7
MD5 b4dbe3fae12e429a2ba77c8b41ef591e
BLAKE2b-256 bff694bf397e3d100332eb628ca8698b55e203eaffe95926f9d53501c93423bd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page