def upc_search(term, mode='music', heavy=HEAVY)
url = "/onca/xml3?t=%s&UpcSearch=%s&mode=%s&f=xml&type=%s&dev-t=%s"
type = heavy ? 'heavy' : 'lite'
term.gsub!(/ /, ',') if term.is_a? String
term = url_encode(term)
if term.count(',') >= (heavy ? MAX_HEAVY_UPCS : MAX_LITE_UPCS)
raise TermError, "too many UPCs"
end
modes = %[music classical software dvd vhs electronics pc-hardware]
unless modes.include? mode
raise ModeError, "mode must be one of %s" % modes.join(', ')
end
unless @locale == 'us'
raise LocaleError, 'search not valid in this locale'
end
mode = localise_mode(mode)
search(url % [@id, term, mode, type, @token])
end