diff --git a/ChangeLog b/ChangeLog index f328481e..59f83084 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18102,3 +18102,5 @@ output to make it well-formed. 2018-12-05 Fred Gleason * Added a set of Python classes for processing PAD updates. +2018-12-06 Fred Gleason + * Added comments to the 'now_and_next.py' PyPAD script. diff --git a/apis/PyPAD/examples/now_and_next.py b/apis/PyPAD/examples/now_and_next.py index dca86d35..efdfdb22 100755 --- a/apis/PyPAD/examples/now_and_next.py +++ b/apis/PyPAD/examples/now_and_next.py @@ -1,18 +1,69 @@ #!/usr/bin/python +# now_and_next.py +# +# Example PyPAD script for Rivendell +# +# (C) Copyright 2018 Fred Gleason +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +# +# To see the full documentation of these classes, enter the following at +# a python interactive prompt: +# +# import rivendell.PyPAD +# help(rivendell.PyPAD) +# import rivendell.PyPAD +# +# First, we create a callback method, that will be called every time a +# log machine updates its PAD. Two arguments are supplied: +# +# update - An instance of 'PyPADUpdate' that contains the PAD information. +# +# priv - An arbitrary object that was passed to 'PyPADReceiver' using +# its 'setPrivateObject()' method. This allows initialiation to +# be done (create sockets, file handles, etc) before starting the +# receiver and then passing those objects to the processing callback. +# def ProcessPad(update,priv): print if update.hasNowPad(): - print update.padFields("NOW: %a - %t") + print "Log %03d NOW: " % update.logMachine()+update.padFields("%a - %t") else: - print "NOW: [none]" + print "Log %03d NOW: [none]" % update.logMachine() if update.hasNextPad(): - print update.padFields("NEXT: %A - %T") + print "Log %03d NEXT: " % update.logMachine()+update.padFields("%A - %T") else: - print "NEXT: [none]" + print "Log %03d NEXT: [none]" % update.logMachine() +# +# Create an instance of 'PyPADReceiver' +# rcvr=rivendell.PyPAD.PyPADReceiver() + +# +# Tell it to use the callback +# rcvr.setCallback(ProcessPad) + +# +# Start the receiver, giving it the hostname or IP address of the target +# Rivendell system. Once started, all further processing can only be done +# in the callback method! +# rcvr.start("localhost")