2021-12-03 Fred Gleason <fredg@paravelsystems.com>

* Added a 'ListScheduleCodes()' method to the 'rivwebpyapi' API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2021-12-03 17:06:23 -05:00
parent 5136c3efc8
commit 1dcb3ce7aa
4 changed files with 103 additions and 0 deletions

View File

@@ -685,6 +685,39 @@ class rivwebpyapi(object):
return handler.output()
def ListSchedulerCodes(self):
"""
Returns a list of all available Rivendell schedule codes (dictionary)
"""
#
# Build the WebAPI arguments
#
postdata={
'COMMAND': '24',
'LOGIN_NAME': self.__connection_username,
'PASSWORD': self.__connection_password
}
#
# Fetch the XML
#
r=requests.post(self.__connection_url,data=postdata)
if(r.status_code!=requests.codes.ok):
r.raise_for_status()
#
# Generate the output dictionary
#
fields={
'code': 'string',
'description': 'string'
}
handler=RivWebPyApi_ListHandler(base_tag='schedCode',fields=fields)
xml.sax.parseString(r.text,handler)
return handler.output()
def ListServices(self,trackable):
"""
Returns a list of Rivendell services (dictionary).