Android Open Source - norilib Gelbooru






From Project

Back to project page norilib.

License

The source code is released under:

Copyright (c) 2013-2014, vomitcuddle <shinku@dollbooru.org> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the a...

If you think the Android project norilib listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * This file is part of nori./* ww  w  .j a  v  a  2 s.  c o m*/
 * Copyright (c) 2014 vomitcuddle <shinku@dollbooru.org>
 * License: ISC
 */

package com.cuddlesoft.norilib.clients;

import android.net.Uri;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * Client for the Gelbooru API.
 * The Gelbooru API is based on the Danbooru 1.x API with a few minor differences.
 */
public class Gelbooru extends DanbooruLegacy {
  /** Date format used by Gelbooru. */
  private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("EEE MMM d HH:mm:ss Z yyyy", Locale.US);

  public Gelbooru(String name, String endpoint) {
    super(name, endpoint);
  }

  public Gelbooru(String name, String endpoint, String username, String password) {
    super(name, endpoint, username, password);
  }

  @Override
  public Settings getSettings() {
    return new Settings(Settings.APIType.GELBOORU, name, apiEndpoint, username, password);
  }

  @Override
  protected String createSearchURL(String tags, int pid, int limit) {
    // Unlike DanbooruLegacy, page numbers are 0-indexed for Gelbooru APIs.
    return String.format(Locale.US, "%s/index.php?page=dapi&s=post&q=index&tags=%s&pid=%d&limit=%d", apiEndpoint, Uri.encode(tags), pid, limit);
  }

  @Override
  protected String webUrlFromId(String id) {
    return String.format(Locale.US, "%s/index.php?page=post&s=view&id=%s", apiEndpoint, id);
  }

  @Override
  protected Date dateFromString(String date) throws ParseException {
    // Override Danbooru 1.x date format.
    return DATE_FORMAT.parse(date);
  }
}




Java Source Code List

com.cuddlesoft.norilib.Image.java
com.cuddlesoft.norilib.SearchResult.java
com.cuddlesoft.norilib.Tag.java
com.cuddlesoft.norilib.clients.DanbooruLegacy.java
com.cuddlesoft.norilib.clients.Danbooru.java
com.cuddlesoft.norilib.clients.Gelbooru.java
com.cuddlesoft.norilib.clients.SearchClient.java
com.cuddlesoft.norilib.clients.Shimmie.java
com.cuddlesoft.norilib.service.ServiceTypeDetectionService.java