static L> googleSearch_all(Browser browser, S query, double cacheExpirationDays default 1) { ret googleSearch_all(new GoogleSearch(browser, simpleSpacesAndTrim(lower(query))), cacheExpirationDays); } static L> googleSearch_all(GoogleSearch gs, double cacheExpirationDays default 1) { FileBasedStringMap cache = new(javaxCachesDir("Google Searches")); S key = sfu(ll(gs.query, gs.urlParams)); File f = cache.fileForKey(key); if (exists(f) && fileAgeInDays(f) < cacheExpirationDays) ret (L) unstructure(cache.get(key)); // not in cache, start browser var result = gs.search_uncached(); cache.put(key, indentedStructure(result)); ret result; }