Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

48
LINES

< > TinyBrain | #1007145 - quickVisualize - actually returns the first Google hit now

JavaX fragment (include)

sS quickVisualize_progID = #1007145;
static Lock quickVisualize_lock = lock();

static bool quickVisualize_hasCached(S query) {
  ret quickVisualize_imageFile(query).length() != 0;
}

static BufferedImage quickVisualize_fromCache(S query) {
  File f = quickVisualize_imageFile(query);
  if (f.length() != 0) pcall { ret loadPNG(f); }
  null;
}

static S quickVisualize_preprocess(S query) {
  ret toUpper(shorten(trim(query), 200));
}

static BufferedImage quickVisualize(S query) {
  query = quickVisualize_preprocess(query);
  if (empty(query)) null;
  BufferedImage img = quickVisualize_fromCache(query);
  if (img != null) ret img;
  File f = quickVisualize_imageFile(query);
  /*L<S> urls = googleImageSearch_multi(query);
  saveTextFile(quickVisualize_urlsFile(query), joinLines(urls));
  if (empty(urls)) null;
  img = loadBufferedImage(first(urls));*/
  lock quickVisualize_lock;
  img = googleImageSearchFirst(query);
  if (img == null) null;
  savePNG(f, img);
  ret img;
}

static S quickVisualize_imagePath(S query) {
  query = quickVisualize_preprocess(query);
  ret fsI(quickVisualize_progID) + "/" + urlencode(query) + ".png";
}

static File quickVisualize_imageFile(S query) {
  query = quickVisualize_preprocess(query);
  ret prepareProgramFile(quickVisualize_progID, urlencode(query) + ".png");
}

static File quickVisualize_urlsFile(S query) {
  query = quickVisualize_preprocess(query);
  ret prepareProgramFile(quickVisualize_progID, "urls-" + urlencode(query) + ".txt");
}

download  show line numbers  debug dex   

Travelled to 2 computer(s): cfunsshuasjs, tvejysmllsmz

No comments. add comment

Snippet ID: #1007145
Snippet name: quickVisualize - actually returns the first Google hit now
Eternal ID of this version: #1007145/14
Text MD5: afa9af0e4b89806395a48295fd779a44
Author: stefan
Category: javax / imaging / networking
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2017-09-20 00:45:56
Source code size: 1541 bytes / 48 lines
Pitched / IR pitched: No / No
Views / Downloads: 94 / 75
Version history: 13 change(s)
Referenced in: [show]