#!%PYTHON_BANGPATH% # list_carts.py # # RivWebPyApi test script for Rivendell # # Test the ListCarts Web API call # # (C) Copyright 2021-2022 Fred Gleason # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License version 2 as # published by the Free Software Foundation. # # This program 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 Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # import getpass import sys from rivendellaudio import rivwebpyapi def eprint(*args,**kwargs): print(*args,file=sys.stderr,**kwargs) url=''; username='' password='' cart_type='all' include_cuts=False group_name='' filter_string='' # # Get login parameters # usage='list_carts --url= --username= [--password=] [--audio-only] [--macro-only] [--include-cuts] [--group-name=] [--filter-string=]' for arg in sys.argv: f0=arg.split('=') if(len(f0)==1): if(f0[0]=='--audio-only'): cart_type='audio' if(f0[0]=='--macro-only'): cart_type='macro' if(f0[0]=='--include-cuts'): include_cuts=True if(len(f0)==2): if(f0[0]=='--url'): url=f0[1] if(f0[0]=='--username'): username=f0[1] if(f0[0]=='--password'): password=f0[1] if(f0[0]=='--group-name'): group_name=f0[1] if(f0[0]=='--filter-string'): filter_string=f0[1] if(not password): password=getpass.getpass() if((not url)or(not username)): eprint(usage) sys.exit(1) # # Get the cart list # site=rivwebpyapi.Site(url=url,username=username,password=password) try: carts=site.ListCarts(group_name=group_name,filter_string=filter_string, cart_type=cart_type,include_cuts=include_cuts) except rivwebpyapi.RivWebPyError as err: eprint('*** ERROR ***') eprint('Response Code: '+str(err.responseCode)) eprint('ErrorString: '+str(err.errorString)) eprint('*************') eprint('') sys.exit(1) # # Display the cart list # for cart in carts: for key in cart.values(): print(key+': '+str(cart.values()[key])) print('')