2019-01-02 Fred Gleason <fredg@paravelsystems.com>

* Added a 'lineNumber' parameter to the 'padUpdate' structure.
	* Added a 'FIELD_LINE_NUMBER' data value to PyPAD.
	* Defined the '%z' metadata wildcard to refer to log line number.
	* Added a 'lineId' parameter to the 'padUpdate' structure.
	* Added 'FIELD_LINE_ID' data value to PyPAD.
	* Defined the '%x' metadata wildcard to refer to log line ID.
This commit is contained in:
Fred Gleason
2019-01-02 13:13:54 -05:00
parent b3846cd08c
commit af9a155965
12 changed files with 63 additions and 34 deletions

View File

@@ -46,6 +46,8 @@ TYPE_NEXT='next'
# Field Names
#
FIELD_START_DATETIME='startDateTime'
FIELD_LINE_NUMBER='lineNumber'
FIELD_LINE_ID='lineId'
FIELD_CART_NUMBER='cartNumber'
FIELD_CART_TYPE='cartType'
FIELD_CUT_NUMBER='cutNumber'
@@ -393,9 +395,9 @@ class Update(object):
string=self.__replaceWildcardPair('u','userDefined',string,esc)
#string=self.__replaceWildcardPair('v',sfield,string,esc) # Length, rounded down
#string=self.__replaceWildcardPair('w',sfield,string,esc) # Unassigned
#string=self.__replaceWildcardPair('x',sfield,string,esc) # Unassigned
string=self.__replaceWildcardPair('x','lineId',string,esc) # Log Line ID
string=self.__replaceWildcardPair('y','year',string,esc)
#string=self.__replaceWildcardPair('z',sfield,string,esc) # Unassigned
string=self.__replaceWildcardPair('z','lineNumber',string,esc) # Log Line #
string=string.replace('\\b','\b')
string=string.replace('\\f','\f')
string=string.replace('\\n','\n')
@@ -480,6 +482,8 @@ class Update(object):
PyPAD.FIELD_ISCI - The 'ISCI' field (string)
PyPAD.FIELD_LABEL - The 'Label' field (string)
PyPAD.FIELD_LENGTH - The 'Length' field (integer)
PyPAD.FIELD_LINE_ID - The log line ID (integer)
PyPAD.FIELD_LINE_NUMBER - The log line number (integer)
PyPAD.FIELD_OUTCUE - The 'Outcue' field (string)
PyPAD.FIELD_PUBLISHER - The 'Publisher' field (string)
PyPAD.FIELD_SONG_ID - The 'Song ID' field (string)

View File

@@ -2,7 +2,7 @@
# now_and_next.py
#
# Example PyPAD script for Rivendell
# Barebones example PyPAD script for Rivendell
#
# (C) Copyright 2018 Fred Gleason <fredg@paravelsystems.com>
#
@@ -35,15 +35,21 @@ import PyPAD
# the PAD information is supplied as the single argument.
#
def ProcessPad(update):
print
print()
if update.hasPadType(PyPAD.TYPE_NOW):
print("Log %03d NOW: " % update.machine()+update.resolvePadFields("%a - %t",PyPAD.ESCAPE_NONE))
msg='%03d:' % update.machine()
msg+='%04d ' % update.padField(PyPAD.TYPE_NOW,PyPAD.FIELD_LINE_NUMBER)
msg+='NOW: '+update.resolvePadFields('%a - %t',PyPAD.ESCAPE_NONE)
print(msg)
else:
print("Log %03d NOW: [none]" % update.machine())
print("%03d:xxxx NOW: [none]" % update.machine())
if update.hasPadType(PyPAD.TYPE_NEXT):
print("Log %03d NEXT: " % update.machine()+update.resolvePadFields("%A - %T",PyPAD.ESCAPE_NONE))
msg='%03d:' % update.machine()
msg+='%04d ' % update.padField(PyPAD.TYPE_NEXT,PyPAD.FIELD_LINE_NUMBER)
msg+='NEXT: '+update.resolvePadFields('%A - %T',PyPAD.ESCAPE_NONE)
print(msg)
else:
print("Log %03d NEXT: [none]" % update.machine())
print("%03d:xxxx NEXT: [none]" % update.machine())
#
# Create an instance of 'PyPADReceiver'

View File

@@ -59,6 +59,8 @@ def ProcessPad(update):
print(' startDateTime(): '+update.startDateTime(PyPAD.TYPE_NOW).isoformat(' '))
except AttributeError:
print(' startDateTime(): None')
print(' lineNumber(): '+str(update.padField(PyPAD.TYPE_NOW,PyPAD.FIELD_LINE_NUMBER))+'/'+update.resolvePadFields('%z',PyPAD.ESCAPE_NONE))
print(' lineId(): '+str(update.padField(PyPAD.TYPE_NOW,PyPAD.FIELD_LINE_ID))+'/'+update.resolvePadFields('%x',PyPAD.ESCAPE_NONE))
print(' cartType(): '+update.padField(PyPAD.TYPE_NOW,PyPAD.FIELD_CART_TYPE))
print(' cartNumber(): %u / ' % update.padField(PyPAD.TYPE_NOW,PyPAD.FIELD_CART_NUMBER)+update.resolvePadFields("%n",PyPAD.ESCAPE_NONE))
print(' cutNumber(): %u / ' % update.padField(PyPAD.TYPE_NOW,PyPAD.FIELD_CUT_NUMBER)+update.resolvePadFields("%j",PyPAD.ESCAPE_NONE))
@@ -96,6 +98,8 @@ def ProcessPad(update):
print(' startDateTime(): '+update.startDateTime(PyPAD.TYPE_NEXT).isoformat(' '))
except AttributeError:
print(' startDateTime(): None')
print(' lineNumber(): '+str(update.padField(PyPAD.TYPE_NEXT,PyPAD.FIELD_LINE_NUMBER))+'/'+update.resolvePadFields('%Z',PyPAD.ESCAPE_NONE))
print(' lineId(): '+str(update.padField(PyPAD.TYPE_NEXT,PyPAD.FIELD_LINE_ID))+'/'+update.resolvePadFields('%X',PyPAD.ESCAPE_NONE))
print(' cartType(): '+update.padField(PyPAD.TYPE_NEXT,PyPAD.FIELD_CART_TYPE))
print(' cartNumber(): %u / ' % update.padField(PyPAD.TYPE_NEXT,PyPAD.FIELD_CART_NUMBER)+update.resolvePadFields("%N",PyPAD.ESCAPE_NONE))
print(' cutNumber(): %u / ' % update.padField(PyPAD.TYPE_NEXT,PyPAD.FIELD_CUT_NUMBER)+update.resolvePadFields("%J",PyPAD.ESCAPE_NONE))