From 2dcae708efe8dc31a9887a9f3636c4a807b87d1c Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Tue, 2 Jul 2019 15:13:55 -0400 Subject: [PATCH] 2019-07-02 Fred Gleason * Implemented the '%v'/'%V' metadata wildcards for PyPAD. --- ChangeLog | 2 ++ apis/pypad/api/pypad.py | 11 ++++++++++- apis/pypad/tests/pad_test.py | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5c574d53..b05d9cf9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18852,3 +18852,5 @@ * Fixed a bug that caused the 'Overview' section of the 'Managing the Rivendell Database with RDDbConfig' chapter to be omitted from the HTML version of the Operations Guide. +2019-07-02 Fred Gleason + * Implemented the '%v'/'%V' metadata wildcards for PyPAD. diff --git a/apis/pypad/api/pypad.py b/apis/pypad/api/pypad.py index c2d19853..220e1175 100644 --- a/apis/pypad/api/pypad.py +++ b/apis/pypad/api/pypad.py @@ -410,7 +410,16 @@ class Update(object): string=self.__replaceWildcardPair('s','songId',string,esc) string=self.__replaceWildcardPair('t','title',string,esc) string=self.__replaceWildcardPair('u','userDefined',string,esc) - #string=self.__replaceWildcardPair('v',sfield,string,esc) # Length, rounded down + secs=self.__replaceWildcard('v','length','now','%v',ESCAPE_NONE) # Length, rounded down + if(secs==''): + string=string.replace('%v','0') + else: + string=string.replace('%v',str(int(secs)//1000)) + secs=self.__replaceWildcard('V','length','next','%V',ESCAPE_NONE) + if(secs==''): + string=string.replace('%V','0') + else: + string=string.replace('%V',str(int(secs)//1000)) #string=self.__replaceWildcardPair('w',sfield,string,esc) # Unassigned string=self.__replaceWildcardPair('x','lineId',string,esc) # Log Line ID string=self.__replaceWildcardPair('y','year',string,esc) diff --git a/apis/pypad/tests/pad_test.py b/apis/pypad/tests/pad_test.py index e10a9992..92a367e4 100755 --- a/apis/pypad/tests/pad_test.py +++ b/apis/pypad/tests/pad_test.py @@ -65,6 +65,7 @@ def ProcessPad(update): 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)) print(' length(): %u / ' % update.padField(pypad.TYPE_NOW,pypad.FIELD_LENGTH)+update.resolvePadFields("%h",pypad.ESCAPE_NONE)) + print(' length()[secs]: N/A / '+update.resolvePadFields("%v",pypad.ESCAPE_NONE)) try: print(' year(): %u / ' % update.padField(pypad.TYPE_NOW,pypad.FIELD_YEAR)+update.resolvePadFields("%y",pypad.ESCAPE_NONE)) except TypeError: @@ -104,6 +105,7 @@ def ProcessPad(update): 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)) print(' length(): %u / ' % update.padField(pypad.TYPE_NEXT,pypad.FIELD_LENGTH)+update.resolvePadFields("%H",pypad.ESCAPE_NONE)) + print(' length()[secs]: N/A / '+update.resolvePadFields("%V",pypad.ESCAPE_NONE)) try: print(' year(): %u / ' % update.padField(pypad.TYPE_NEXT,pypad.FIELD_YEAR)+update.resolvePadFields("%Y",pypad.ESCAPE_NONE)) except TypeError: