Modified the 'PyPAD' Python module to use 'configparser.read_file()'
instead of 'configparser.readfp()'.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'KillPypadAfterError=' directive to the '[Debugging]'
section of rd.conf(5).
* Documented the '[Debugging]' section in the rd.conf(5) man page.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the PAD subsystem that caused meta-events to be
included in the update events.
* Refactored the PAD subsystem to use native Qt JSON methods.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the PyPAD API that caused incorrect date/time
resolutions when using the 'MMM' wildcard.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Consolidated the 'pypad' and 'rivwebpyapi' Python modules into
a single 'rivendellaudio' package namespace.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug with the '%y' metadata wildcard where garbage would
be returned if a valid year had not been set.
* Added a 'metadata_wildcard_test' harness.
* Added a '%wc' ['Industry Standard Commercial Identification (ISCI)
Code'] metadata wildcard.
* Implemented the '%wc' metadata wildcard for PyPAD.
* Added support for the '%wc' wildcards to the '--metadata-pattern='
switch in rdimport(1).
* Added '--set-string-isci' switch to rdimport(1).
* Added support for the '%wc' wildcard to the '--metadata-pattern='
switch in rdexport(1).
* Fixed a bug in the 'pypad-shoutcast1.py' script that threw an
exception when processing PAD containing multi-type UTF-8 characters.
* Added a 'python36-urllib3' dependency to the 'rivendell-pypad'
RPM package.
* Added a work-around in the 'PyPAD.Receiver().__openDb()' method
to work with versions of MySQLdb that do not support the
'password=' parameter in 'MySQLdb.connect()'.
* Fixed a bug in the 'pypad.update.shouldBeProcessed()' method
that caused log selection directives to be ignored.
* Refactored the 'pypad_icecast2.py' script to work properly with
the fixed 'pypad.update.shouldBeProcessed()' method.
* Refactored the 'pypad_shoutcast2.py' script to work properly with
the fixed 'pypad.update.shouldBeProcessed()' method.
* Added a 'SyslogFacility=' directive to the '[Identity']
section of rd.conf(5).
* Added a 'syslog.openlog()' call to the constructor of the
'PyPAD.Receiver' class.
* Removed the 'syslog.openlog()' call from the 'pypad_icecast2.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_live365.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_serial.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_shoutcast1.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_spinitron.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_tunein.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_urlwrite.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_walltime.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_xcmd.py'
script.
* Removed the 'syslog.openlog()' call from the 'pypad_xmpad.py'
script.
* Changed the PyPAD namespace from 'PyPAD' to 'pypad'.
* Changed the installation location of PyPAD scripts from
'@libdir@/rivendell/PyPAD/' to '@libdir@/rivendell/pypad/'.