mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-08-02 17:09:28 +02:00
2021-12-11 Fred Gleason <fredg@paravelsystems.com>
* Added a 'Log' class to the 'rivwebapi' API. * Modified the 'ListLogs()' method to use the 'Log' class in the 'rivwebapi' API. * Added a 'LogLine' class to the 'rivwebapi' API. * Modified the 'ListLog()' method to use the 'LogLine' class in the 'rivwebapi' API. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
dd3cee96d4
commit
f8f0b937bc
@ -22743,3 +22743,10 @@
|
||||
* Modified the 'AddCut()', 'ListCut()' and 'ListCuts()' methods
|
||||
to use the 'Cut' class in the 'rivwebapi' API.
|
||||
* Added an 'EditCut()' method to the 'rivwebpyapi' API.
|
||||
2021-12-11 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added a 'Log' class to the 'rivwebapi' API.
|
||||
* Modified the 'ListLogs()' method to use the 'Log' class in the
|
||||
'rivwebapi' API.
|
||||
* Added a 'LogLine' class to the 'rivwebapi' API.
|
||||
* Modified the 'ListLog()' method to use the 'LogLine' class in the
|
||||
'rivwebapi' API.
|
||||
|
@ -121,6 +121,102 @@ CUT_FIELDS={
|
||||
'talkEndPoint': 'integer'
|
||||
}
|
||||
|
||||
LOG_FIELDS={
|
||||
'name': 'string',
|
||||
'serviceName': 'string',
|
||||
'description': 'string',
|
||||
'originUserName': 'string',
|
||||
'originDatetime': 'datetime',
|
||||
'linkDatetime': 'datetime',
|
||||
'modifiedDatetime': 'datetime',
|
||||
'purgeDate': 'date',
|
||||
'autoRefresh': 'boolean',
|
||||
'startDate': 'date',
|
||||
'endDate': 'date',
|
||||
'scheduledTracks': 'integer',
|
||||
'completedTracks': 'integer',
|
||||
'musicLinks': 'integer',
|
||||
'musicLinked': 'boolean',
|
||||
'trafficLinks': 'integer',
|
||||
'trafficLinked': 'boolean'
|
||||
}
|
||||
|
||||
LOGLINE_FIELDS={
|
||||
'line': 'integer',
|
||||
'id': 'integer',
|
||||
'type': 'string',
|
||||
'cartType': 'string',
|
||||
'cartNumber': 'integer',
|
||||
'cutNumber': 'integer',
|
||||
'groupName': 'string',
|
||||
'groupColor': 'string',
|
||||
'title': 'string',
|
||||
'artist': 'string',
|
||||
'publisher': 'string',
|
||||
'composer': 'string',
|
||||
'album': 'string',
|
||||
'label': 'string',
|
||||
'year': 'integer',
|
||||
'client': 'string',
|
||||
'agency': 'string',
|
||||
'conductor': 'string',
|
||||
'userDefined': 'string',
|
||||
'usageCode': 'integer',
|
||||
'enforceLength': 'boolean',
|
||||
'forcedLength': 'string',
|
||||
'evergreen': 'boolean',
|
||||
'source': 'string',
|
||||
'timeType': 'string',
|
||||
'startTime': 'time',
|
||||
'transitionType': 'string',
|
||||
'cutQuantity': 'integer',
|
||||
'lastCutPlayed': 'integer',
|
||||
'markerComment': 'string',
|
||||
'markerLabel': 'string',
|
||||
'description': 'string',
|
||||
'isrc': 'string',
|
||||
'isci': 'string',
|
||||
'recordingMbId': 'string',
|
||||
'releaseMbId': 'string',
|
||||
'originUser': 'string',
|
||||
'originDateTime': 'datetime',
|
||||
'startPointCart': 'integer',
|
||||
'startPointLog': 'integer',
|
||||
'endPointCart': 'integer',
|
||||
'endPointLog': 'integer',
|
||||
'segueStartPointCart': 'integer',
|
||||
'segueStartPointLog': 'integer',
|
||||
'segueEndPointCart': 'integer',
|
||||
'segueEndPointLog': 'integer',
|
||||
'segueGain': 'integer',
|
||||
'fadeupPointCart': 'integer',
|
||||
'fadeupPointLog': 'integer',
|
||||
'fadeupGain': 'integer',
|
||||
'fadedownPointCart': 'integer',
|
||||
'fadedownPointLog': 'integer',
|
||||
'fadedownGain': 'integer',
|
||||
'duckUpGain': 'integer',
|
||||
'duckDownGain': 'integer',
|
||||
'talkStartPoint': 'integer',
|
||||
'talkEndPoint': 'integer',
|
||||
'hookMode': 'boolean',
|
||||
'hookStartPoint': 'integer',
|
||||
'hookEndPoint': 'integer',
|
||||
'eventLength': 'integer',
|
||||
'linkEventName': 'string',
|
||||
'linkStartTime': 'time',
|
||||
'linkStartSlop': 'integer',
|
||||
'linkEndSlop': 'integer',
|
||||
'linkId': 'integer',
|
||||
'linkEmbedded': 'boolean',
|
||||
'extStartTime': 'time',
|
||||
'extLength': 'integer',
|
||||
'extCartName': 'string',
|
||||
'extData': 'string',
|
||||
'extEventId': 'integer',
|
||||
'extAnncType': 'string'
|
||||
}
|
||||
|
||||
class RivWebPyApi_ListHandler(ContentHandler):
|
||||
def __init__(self,base_tag,fields):
|
||||
self.__output=[]
|
||||
@ -313,6 +409,40 @@ class Cut(object):
|
||||
if(key in self.__values.keys()):
|
||||
self.__values[key]=values[key]
|
||||
|
||||
class Log(object):
|
||||
def __init__(self,values={}):
|
||||
if(len(values)==0):
|
||||
self.__values={}
|
||||
for key in LOG_FIELDS:
|
||||
self.__values[key]=None
|
||||
else:
|
||||
self.__values=values
|
||||
|
||||
def values(self):
|
||||
return self.__values
|
||||
|
||||
def setValues(self,values):
|
||||
for key in values:
|
||||
if(key in self.__values.keys()):
|
||||
self.__values[key]=values[key]
|
||||
|
||||
class LogLine(object):
|
||||
def __init__(self,values={}):
|
||||
if(len(values)==0):
|
||||
self.__values={}
|
||||
for key in LOGLINE_FIELDS:
|
||||
self.__values[key]=None
|
||||
else:
|
||||
self.__values=values
|
||||
|
||||
def values(self):
|
||||
return self.__values
|
||||
|
||||
def setValues(self,values):
|
||||
for key in values:
|
||||
if(key in self.__values.keys()):
|
||||
self.__values[key]=values[key]
|
||||
|
||||
class rivwebpyapi(object):
|
||||
"""
|
||||
Create a 'RivWebPyApi' object for accessing the Web API.
|
||||
@ -1399,7 +1529,8 @@ class rivwebpyapi(object):
|
||||
|
||||
def ListLog(self,log_name):
|
||||
"""
|
||||
Returns the contents of a Rivendell log (list of dictionaries).
|
||||
Returns the contents of a Rivendell log
|
||||
(list of rivwebpyapi.LogLine objects).
|
||||
|
||||
Takes the following argument:
|
||||
|
||||
@ -1426,91 +1557,20 @@ class rivwebpyapi(object):
|
||||
#
|
||||
# Generate the output dictionary
|
||||
#
|
||||
fields={
|
||||
'line': 'integer',
|
||||
'id': 'integer',
|
||||
'type': 'string',
|
||||
'cartType': 'string',
|
||||
'cartNumber': 'integer',
|
||||
'cutNumber': 'integer',
|
||||
'groupName': 'string',
|
||||
'groupColor': 'string',
|
||||
'title': 'string',
|
||||
'artist': 'string',
|
||||
'publisher': 'string',
|
||||
'composer': 'string',
|
||||
'album': 'string',
|
||||
'label': 'string',
|
||||
'year': 'integer',
|
||||
'client': 'string',
|
||||
'agency': 'string',
|
||||
'conductor': 'string',
|
||||
'userDefined': 'string',
|
||||
'usageCode': 'integer',
|
||||
'enforceLength': 'boolean',
|
||||
'forcedLength': 'string',
|
||||
'evergreen': 'boolean',
|
||||
'source': 'string',
|
||||
'timeType': 'string',
|
||||
'startTime': 'time',
|
||||
'transitionType': 'string',
|
||||
'cutQuantity': 'integer',
|
||||
'lastCutPlayed': 'integer',
|
||||
'markerComment': 'string',
|
||||
'markerLabel': 'string',
|
||||
'description': 'string',
|
||||
'isrc': 'string',
|
||||
'isci': 'string',
|
||||
'recordingMbId': 'string',
|
||||
'releaseMbId': 'string',
|
||||
'originUser': 'string',
|
||||
'originDateTime': 'datetime',
|
||||
'startPointCart': 'integer',
|
||||
'startPointLog': 'integer',
|
||||
'endPointCart': 'integer',
|
||||
'endPointLog': 'integer',
|
||||
'segueStartPointCart': 'integer',
|
||||
'segueStartPointLog': 'integer',
|
||||
'segueEndPointCart': 'integer',
|
||||
'segueEndPointLog': 'integer',
|
||||
'segueGain': 'integer',
|
||||
'fadeupPointCart': 'integer',
|
||||
'fadeupPointLog': 'integer',
|
||||
'fadeupGain': 'integer',
|
||||
'fadedownPointCart': 'integer',
|
||||
'fadedownPointLog': 'integer',
|
||||
'fadedownGain': 'integer',
|
||||
'duckUpGain': 'integer',
|
||||
'duckDownGain': 'integer',
|
||||
'talkStartPoint': 'integer',
|
||||
'talkEndPoint': 'integer',
|
||||
'hookMode': 'boolean',
|
||||
'hookStartPoint': 'integer',
|
||||
'hookEndPoint': 'integer',
|
||||
'eventLength': 'integer',
|
||||
'linkEventName': 'string',
|
||||
'linkStartTime': 'time',
|
||||
'linkStartSlop': 'integer',
|
||||
'linkEndSlop': 'integer',
|
||||
'linkId': 'integer',
|
||||
'linkEmbedded': 'boolean',
|
||||
'extStartTime': 'time',
|
||||
'extLength': 'integer',
|
||||
'extCartName': 'string',
|
||||
'extData': 'string',
|
||||
'extEventId': 'integer',
|
||||
'extAnncType': 'string'
|
||||
}
|
||||
handler=RivWebPyApi_ListHandler(base_tag='logLine',fields=fields)
|
||||
handler=RivWebPyApi_ListHandler(base_tag='logLine',
|
||||
fields=LOGLINE_FIELDS)
|
||||
xml.sax.parseString(r.text,handler)
|
||||
|
||||
return handler.output()
|
||||
out=handler.output()
|
||||
ret=[]
|
||||
for item in out:
|
||||
ret.append(LogLine(item))
|
||||
return ret
|
||||
|
||||
def ListLogs(self,service_name='',log_name='',trackable=False,
|
||||
filter_string='',recent=False):
|
||||
"""
|
||||
Returns the metadata for a set of Rivendell logs
|
||||
(list of dictionaries).
|
||||
(list of rivwebpyapi.Log objects).
|
||||
|
||||
Takes the following arguments:
|
||||
|
||||
@ -1561,29 +1621,13 @@ class rivwebpyapi(object):
|
||||
#
|
||||
# Generate the output dictionary
|
||||
#
|
||||
fields={
|
||||
'name': 'string',
|
||||
'serviceName': 'string',
|
||||
'description': 'string',
|
||||
'originUserName': 'string',
|
||||
'originDatetime': 'datetime',
|
||||
'linkDatetime': 'datetime',
|
||||
'modifiedDatetime': 'datetime',
|
||||
'purgeDate': 'date',
|
||||
'autoRefresh': 'boolean',
|
||||
'startDate': 'date',
|
||||
'endDate': 'date',
|
||||
'scheduledTracks': 'integer',
|
||||
'completedTracks': 'integer',
|
||||
'musicLinks': 'integer',
|
||||
'musicLinked': 'boolean',
|
||||
'trafficLinks': 'integer',
|
||||
'trafficLinked': 'boolean'
|
||||
}
|
||||
handler=RivWebPyApi_ListHandler(base_tag='log',fields=fields)
|
||||
handler=RivWebPyApi_ListHandler(base_tag='log',fields=LOG_FIELDS)
|
||||
xml.sax.parseString(r.text,handler)
|
||||
|
||||
return handler.output()
|
||||
out=handler.output()
|
||||
ret=[]
|
||||
for item in out:
|
||||
ret.append(Log(item))
|
||||
return ret
|
||||
|
||||
def ListSchedulerCodes(self):
|
||||
"""
|
||||
|
@ -76,83 +76,9 @@ except rivwebpyapi.RivWebPyError as err:
|
||||
sys.exit(1)
|
||||
|
||||
#
|
||||
# Display the log list
|
||||
# Display the log listing
|
||||
#
|
||||
for ll in loglines:
|
||||
print('line: '+str(ll['line']))
|
||||
print('id: '+str(ll['id']))
|
||||
print('type: '+str(ll['type']))
|
||||
print('cartType: '+str(ll['cartType']))
|
||||
print('cartNumber: '+str(ll['cartNumber']))
|
||||
print('cutNumber: '+str(ll['cutNumber']))
|
||||
print('groupName: '+str(ll['groupName']))
|
||||
print('groupColor: '+str(ll['groupColor']))
|
||||
print('title: '+str(ll['title']))
|
||||
print('artist: '+str(ll['artist']))
|
||||
print('publisher: '+str(ll['publisher']))
|
||||
print('composer: '+str(ll['composer']))
|
||||
print('album: '+str(ll['album']))
|
||||
print('label: '+str(ll['label']))
|
||||
print('year: '+str(ll['year']))
|
||||
print('client: '+str(ll['client']))
|
||||
print('agency: '+str(ll['agency']))
|
||||
print('conductor: '+str(ll['conductor']))
|
||||
print('userDefined: '+str(ll['userDefined']))
|
||||
print('usageCode: '+str(ll['usageCode']))
|
||||
print('enforceLength: '+str(ll['enforceLength']))
|
||||
print('forcedLength: '+str(ll['forcedLength']))
|
||||
print('evergreen: '+str(ll['evergreen']))
|
||||
print('source: '+str(ll['source']))
|
||||
print('timeType: '+str(ll['timeType']))
|
||||
print('startTime: '+str(ll['startTime']))
|
||||
print('transitionType: '+str(ll['transitionType']))
|
||||
print('cutQuantity: '+str(ll['cutQuantity']))
|
||||
print('lastCutPlayed: '+str(ll['lastCutPlayed']))
|
||||
print('markerComment: '+str(ll['markerComment']))
|
||||
print('markerLabel: '+str(ll['markerComment']))
|
||||
print('description: '+str(ll['description']))
|
||||
print('isrc: '+str(ll['isrc']))
|
||||
print('isci: '+str(ll['isci']))
|
||||
print('recordingMbId: '+str(ll['recordingMbId']))
|
||||
print('releaseMbId: '+str(ll['releaseMbId']))
|
||||
print('originUser: '+str(ll['originUser']))
|
||||
print('originDateTime: '+str(ll['originDateTime']))
|
||||
print('startPointCart: '+str(ll['startPointCart']))
|
||||
print('startPointLog: '+str(ll['startPointLog']))
|
||||
print('endPointCart: '+str(ll['endPointCart']))
|
||||
print('endPointLog: '+str(ll['endPointLog']))
|
||||
print('segueStartPointCart: '+str(ll['segueStartPointCart']))
|
||||
print('segueStartPointLog: '+str(ll['segueStartPointCart']))
|
||||
print('segueEndPointCart: '+str(ll['segueEndPointCart']))
|
||||
print('segueEndPointLog: '+str(ll['segueEndPointLog']))
|
||||
print('segueGain: '+str(ll['segueGain']))
|
||||
print('fadeupPointCart: '+str(ll['fadeupPointCart']))
|
||||
print('fadeupPointLog: '+str(ll['fadeupPointLog']))
|
||||
print('fadeupGain: '+str(ll['fadeupGain']))
|
||||
print('fadedownPointCart: '+str(ll['fadedownPointCart']))
|
||||
print('fadedownPointLog: '+str(ll['fadedownPointLog']))
|
||||
print('fadedownGain: '+str(ll['fadedownGain']))
|
||||
print('duckUpGain: '+str(ll['duckUpGain']))
|
||||
print('duckDownGain: '+str(ll['duckDownGain']))
|
||||
print('talkStartPoint: '+str(ll['talkStartPoint']))
|
||||
print('talkEndPoint: '+str(ll['talkEndPoint']))
|
||||
print('hookMode: '+str(ll['hookMode']))
|
||||
print('hookStartPoint: '+str(ll['hookStartPoint']))
|
||||
print('hookEndPoint: '+str(ll['hookEndPoint']))
|
||||
print('eventLength: '+str(ll['eventLength']))
|
||||
print('linkEventName: '+str(ll['linkEventName']))
|
||||
print('linkStartTime: '+str(ll['linkStartTime']))
|
||||
print('linkStartSlop: '+str(ll['linkStartSlop']))
|
||||
print('linkEndSlop: '+str(ll['linkEndSlop']))
|
||||
print('linkId: '+str(ll['linkId']))
|
||||
print('linkEmbedded: '+str(ll['linkEmbedded']))
|
||||
print('extStartTime: '+str(ll['extStartTime']))
|
||||
print('extLength: '+str(ll['extLength']))
|
||||
print('extCartName: '+str(ll['extCartName']))
|
||||
print('extData: '+str(ll['extData']))
|
||||
print('extEventId: '+str(ll['extEventId']))
|
||||
print('extAnncType: '+str(ll['extAnncType']))
|
||||
for key in ll.values():
|
||||
print(key+': '+str(ll.values()[key]))
|
||||
print('')
|
||||
|
||||
|
||||
# print(': '+ll[''])
|
||||
|
@ -84,23 +84,9 @@ except rivwebpyapi.RivWebPyError as err:
|
||||
sys.exit(1)
|
||||
|
||||
#
|
||||
# Display the log list
|
||||
# Display the list of logs
|
||||
#
|
||||
for log in logs:
|
||||
print('name: '+log['name'])
|
||||
print('serviceName: '+log['serviceName'])
|
||||
print('description: '+log['description'])
|
||||
print('originUserName: '+log['originUserName'])
|
||||
print('originDatetime: '+str(log['originDatetime']))
|
||||
print('linkDatetime: '+str(log['linkDatetime']))
|
||||
print('modifiedDatetime: '+str(log['modifiedDatetime']))
|
||||
print('startDate: '+str(log['startDate']))
|
||||
print('endDate: '+str(log['endDate']))
|
||||
print('purgeDate: '+str(log['purgeDate']))
|
||||
print('scheduledTracks: '+str(log['scheduledTracks']))
|
||||
print('completedTracks: '+str(log['completedTracks']))
|
||||
print('musicLinks: '+str(log['musicLinks']))
|
||||
print('musicLinked: '+str(log['musicLinked']))
|
||||
print('trafficLinks: '+str(log['trafficLinks']))
|
||||
print('trafficLinked: '+str(log['trafficLinked']))
|
||||
for key in log.values():
|
||||
print(key+': '+str(log.values()[key]))
|
||||
print('')
|
||||
|
Loading…
x
Reference in New Issue
Block a user