#NEWLINE# @ classmethod #NEWLINE# @ coroutine #NEWLINE# @ Cache ( ( 4 * HOUR ) , files_cache = True , ignore_self = True ) #NEWLINE# def search( cls , names , descriptions , operator = 'or' ) : #NEWLINE# #INDENT# assert ( operator in ( 'or' , 'and' ) ) #NEWLINE# result = ( yield cls . XMLRPC . search ( { #NEWLINE# #INDENT# 'name' : names , #NEWLINE# 'description' : descriptions , #NEWLINE# #UNINDENT# } , operator ) ) #NEWLINE# raise Return ( cls )