# File lib/amazon/search.rb, line 256
      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