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.0.6.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

pywnp-1.0.6-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pywnp-1.0.6.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for pywnp-1.0.6.tar.gz
Algorithm Hash digest
SHA256 343318d0e8addd82c749a3859f0a9e4513f3523e94adb8e3156bb3aec1050d00
MD5 3f5c07988993861eb41546c6a93f51d1
BLAKE2b-256 9f515a474c34557b595fce98b1fa2f84d74cb96bef100e6dbe7bc8456d32ef65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pywnp-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.8 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.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1ea564a360776d370a1386664e5eef49be8df06c25b164d7f64e9809ef9e2807
MD5 2bd36bd5cb73e33561613ab4ec11860b
BLAKE2b-256 4a1ffd0066736d90496629dfa15eaa73ff6fdf72e236d74f719194417b3de8a8

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