DOKK / manpages / debian 11 / python3-gntp / gntp.1.en
GNTP(1) Growl Notification Transport Protocol Python Bindings GNTP(1)

gntp - GNTP Documentation

Lower level classes for those who want more control in sending messages




Classes representing each of the GNTP message types

Represents a GNTP Registration Command
  • data (string) -- (Optional) See decode()
  • password (string) -- (Optional) Password to use while encoding/decoding messages


Add new Notification to Registration message
  • name (string) -- Notification Name
  • enabled (boolean) -- Enable this notification by default



Add binary resource
data (string) -- Binary Data


Decode existing GNTP Registration message
data (string) -- Message to decode


Encode a GNTP Registration Message
Encoded GNTP Registration message. Returned as a byte string


Set a password for a GNTP Message
  • password (string) -- Null to clear password
  • encryptAlgo (string) -- Supports MD5, SHA1, SHA256, SHA512



Validate required headers and validate notification headers


Represents a GNTP Notification Command
  • data (string) -- (Optional) See decode()
  • app (string) -- (Optional) Set Application-Name
  • name (string) -- (Optional) Set Notification-Name
  • title (string) -- (Optional) Set Notification Title
  • password (string) -- (Optional) Password to use while encoding/decoding messages


Add binary resource
data (string) -- Binary Data


Decode existing GNTP Notification message
data (string) -- Message to decode.


Encode a generic GNTP Message
GNTP Message ready to be sent. Returned as a byte string


Set a password for a GNTP Message
  • password (string) -- Null to clear password
  • encryptAlgo (string) -- Supports MD5, SHA1, SHA256, SHA512



Verify required headers


Represents a GNTP Subscribe Command
  • data (string) -- (Optional) See decode()
  • password (string) -- (Optional) Password to use while encoding/decoding messages


Add binary resource
data (string) -- Binary Data


Decode GNTP Message
data (string) --


Encode a generic GNTP Message
GNTP Message ready to be sent. Returned as a byte string


Set a password for a GNTP Message
  • password (string) -- Null to clear password
  • encryptAlgo (string) -- Supports MD5, SHA1, SHA256, SHA512



Verify required headers


Represents a GNTP OK Response
  • data (string) -- (Optional) See _GNTPResponse.decode()
  • action (string) -- (Optional) Set type of action the OK Response is for


Add binary resource
data (string) -- Binary Data


Decode GNTP Message
data (string) --


Encode a generic GNTP Message
GNTP Message ready to be sent. Returned as a byte string


Set a password for a GNTP Message
  • password (string) -- Null to clear password
  • encryptAlgo (string) -- Supports MD5, SHA1, SHA256, SHA512



Verify required headers


Represents a GNTP Error response
  • data (string) -- (Optional) See _GNTPResponse.decode()
  • errorcode (string) -- (Optional) Error code
  • errordesc (string) -- (Optional) Error Description


Add binary resource
data (string) -- Binary Data


Decode GNTP Message
data (string) --


Encode a generic GNTP Message
GNTP Message ready to be sent. Returned as a byte string


Set a password for a GNTP Message
  • password (string) -- Null to clear password
  • encryptAlgo (string) -- Supports MD5, SHA1, SHA256, SHA512



Verify required headers


Attempt to parse a message as a GNTP message
  • data (string) -- Message to be parsed
  • password (string) -- Optional password to be used to verify the message



Python bindings for the Growl Notification Transport Protocol

Bugs can be reported at the GitHub issue tracker

from gntp.notifier import mini
# Send a simple growl message with mostly default values
mini("Here's a quick message", callback="http://github.com/")


Single notification function

Simple notification function in one line. Has only one required parameter and attempts to use reasonable defaults for everything else :param string description: Notification message

WARNING:

For now, only URL callbacks are supported. In the future, the callback argument will also support a function



Helper class to simplfy sending Growl messages
  • applicationName (string) -- Sending application name
  • notification (list) -- List of valid notifications
  • defaultNotifications (list) -- List of notifications that should be enabled by default
  • applicationIcon (string) -- Icon URL
  • hostname (string) -- Remote host
  • port (integer) -- Remote port



The GrowlNotifier class is intended to mostly mirror the older python bindings for growl

Send GNTP Registration

WARNING:

Before sending notifications to Growl, you need to have sent a registration message at least once



Send a GNTP notifications

WARNING:

Must have registered with growl beforehand or messages will be ignored


  • noteType (string) -- One of the notification names registered earlier
  • title (string) -- Notification title (usually displayed on the notification)
  • description (string) -- The main content of the notification
  • icon (string) -- Icon URL path
  • sticky (boolean) -- Sticky notification
  • priority (integer) -- Message priority level from -2 to 2
  • callback (string) -- URL callback
  • custom (dict) -- Custom attributes. Key names should be prefixed with X- according to the spec but this is not enforced by this class


WARNING:

For now, only URL callbacks are supported. In the future, the callback argument will also support a function



Send a Subscribe request to a remote machine

import gntp.notifier
# Simple "fire and forget" notification
gntp.notifier.mini("Here's a quick message")
# More complete example
growl = gntp.notifier.GrowlNotifier(

applicationName = "My Application Name",
notifications = ["New Updates","New Messages"],
defaultNotifications = ["New Messages"],
# hostname = "computer.example.com", # Defaults to localhost
# password = "abc123" # Defaults to a blank password ) growl.register() # Send one message growl.notify(
noteType = "New Messages",
title = "You have a new message",
description = "A longer message description",
icon = "http://example.com/icon.png",
sticky = False,
priority = 1, ) # Try to send a different type of message # This one may fail since it is not in our list # of defaultNotifications growl.notify(
noteType = "New Updates",
title = "There is a new update to download",
description = "A longer message description",
icon = "http://example.com/icon.png",
sticky = False,
priority = -1, ) # Send the image with the growl notification image = open('/path/to/icon.png', 'rb').read() growl.notify(
noteType = "New Messages",
title = "Now with icons",
description = "This time we attach the image",
icon = image, )


ConfigParser enhanced GrowlNotifier object

For right now, we are only interested in letting users overide certain values from ~/.gntp

[gntp]
hostname = ?
password = ?
port = ?



Paul Traylor

2019, Paul Traylor

November 25, 2019 1.0.3