sintonia/livesupport/modules/archiveServer/var/xmlrpc/xr_cli_test.py

198 lines
7.2 KiB
Python
Executable File

#!/usr/bin/python
#------------------------------------------------------------------------------
#
# Copyright (c) 2004 Media Development Loan Fund
#
# This file is part of the LiveSupport project.
# http://livesupport.campware.org/
# To report bugs, send an e-mail to bugs@campware.org
#
# LiveSupport is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# LiveSupport is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LiveSupport; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Author : $Author: tomas $
# Version : $Revision: 1.2 $
# Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/archiveServer/var/xmlrpc/Attic/xr_cli_test.py,v $
#
#------------------------------------------------------------------------------
from xmlrpclib import *
import sys
if len(sys.argv)<3:
print """
Usage: xr_cli_pok.py [-v] [-s http://<server>/<path>/xmlrpc/xrLocStor.php] <command> <args>
commands and args:
listMethods
methodHelp <method>
methodSignature <method>
test <session_id> <teststring>
login <username> <password>
authenticate <username> <password>
logout <session_id>
...
"""
# existsAudioClip <session_id> <global_unique_id>
# storeAudioClip <session_id> <global_unique_id> <media_file_path> <metadata_file_path>
# deleteAudioClip <session_id> <global_unique_id>
# updateAudioClipMetadata <session_id> <global_unique_id> <metadata_file_path>
# searchMetadata <session_id> <criteria>
# accessRawAudioData <session_id> <global_unique_id>
# releaseRawAudioData <session_id> <tmp_link_path>
# getAudioClip <session_id> <global_unique_id>
sys.exit(1)
pars = sys.argv
verbose=0
if pars[1]=="-v":
pars.pop(1)
verbose=1
if pars[1]=="-s":
pars.pop(1)
serverPath = pars.pop(1)
else:
serverPath = 'http://localhost:80/livesupportArchiveServer/xmlrpc/xrArchive.php'
server = Server(serverPath)
method = pars.pop(1)
pars.pop(0)
if verbose:
print "method: "+method
print "pars: "
print pars
print "result:"
try:
if method=="listMethods":
print server.system.listMethods()
elif method=="methodHelp":
print server.system.methodHelp(pars[0])
elif method=="methodSignature":
print server.system.methodSignature(pars[0])
elif method=="test":
print server.archive.test({'sessid':pars[0], 'teststring':pars[1]})
elif method=="authenticate":
print server.archive.authenticate(
{'login':pars[0], 'pass':pars[1]}
)['authenticate']
elif method=="login":
print server.archive.login(
{'login':pars[0], 'pass':pars[1]}
)['sessid']
elif method=="logout":
print server.archive.logout({'sessid':pars[0]})
elif method=="storeAudioClipOpen":
r = server.archive.storeAudioClipOpen({
'sessid':pars[0], 'gunid':pars[1], 'metadata':pars[2],
'fname':pars[3], 'chsum':pars[4]
})
print r['url']+'\n'+r['token']
elif method=="storeAudioClipClose":
print server.archive.storeAudioClipClose(
{'sessid':pars[0], 'token':pars[1]}
)['gunid']
elif method=="accessRawAudioData":
r = server.archive.accessRawAudioData(
{'sessid':pars[0], 'gunid':pars[1]}
)
print r['url']+'\n'+r['token']
elif method=="releaseRawAudioData":
print server.archive.releaseRawAudioData(
{'sessid':pars[0], 'token':pars[1]}
)
elif method=="downloadRawAudioDataOpen":
r = server.archive.downloadRawAudioDataOpen(
{'sessid':pars[0], 'gunid':pars[1]}
)
print r['url']+'\n'+r['token']
elif method=="downloadRawAudioDataClose":
print server.archive.downloadRawAudioDataClose(
{'sessid':pars[0], 'token':pars[1]}
)
elif method=="downloadMetadataOpen":
r = server.archive.downloadMetadataOpen(
{'sessid':pars[0], 'gunid':pars[1]}
)
print r['url']+'\n'+r['token']
elif method=="downloadMetadataClose":
print server.archive.downloadMetadataClose(
{'sessid':pars[0], 'token':pars[1]}
)
elif method=="deleteAudioClip":
print server.archive.deleteAudioClip(
{'sessid':pars[0], 'gunid':pars[1]}
)
elif method=="existsAudioClip":
print server.archive.existsAudioClip(
{'sessid':pars[0], 'gunid':pars[1]}
)
elif method=="updateAudioClipMetadata":
print server.archive.updateAudioClipMetadata(
{'sessid':pars[0], 'gunid':pars[1], 'metadata':pars[2]}
)
elif method=="searchMetadata":
# print server.archive.searchMetadata({'sessid':pars[0], 'criteria':pars[1]})
print server.archive.searchMetadata(
{'sessid':pars[0],
'criteria':{
'filetype':'audioclip',
'operator':'and',
'conditions':[
{'cat':pars[1], 'op':'partial', 'val':pars[2]}
]
}
}
)
elif method=="existsPlaylist":
print server.archive.existsPlaylist({'sessid':pars[0], 'plid':pars[1]})
elif method=="playlistIsAvailable":
print server.archive.playlistIsAvailable(
{'sessid':pars[0], 'plid':pars[1]}
)
elif method=="createPlaylist":
print server.archive.createPlaylist(
{'sessid':pars[0], 'plid':pars[1], 'fname':pars[2]}
)
elif method=="editPlaylist":
r = server.archive.editPlaylist({'sessid':pars[0], 'plid':pars[1]})
print r['url']+'\n'+r['token']
elif method=="savePlaylist":
print server.archive.savePlaylist(
{'sessid':pars[0], 'token':pars[1], 'newPlaylist':pars[2]}
)
elif method=="deletePlaylist":
print server.archive.deletePlaylist({'sessid':pars[0], 'plid':pars[1]})
elif method=="accessPlaylist":
r = server.archive.accessPlaylist({'sessid':pars[0], 'plid':pars[1]})
print r['url']+'\n'+r['token']
elif method=="releasePlaylist":
print server.archive.releasePlaylist(
{'sessid':pars[0], 'token':pars[1]}
)
elif method=="getAudioClip":
r = server.archive.getAudioClip({'sessid':pars[0], 'gunid':pars[1]})
print r['metadata']
elif method=="resetStorage":
print server.archive.resetStorage({})
elif method=="openPut":
r = server.archive.openPut({}); print r['url']+'\n'+r['token']
elif method=="closePut":
print server.archive.closePut({'token':pars[0], 'chsum':pars[1]})
else:
print "Unknown command: "+method
sys.exit(1)
except Error, v:
sys.exit(v)