=E6 bug fixes
E6 changed Json request and response Edited to mirror those changes
This commit is contained in:
+69
-35
@@ -24,22 +24,54 @@ public class NetworkE6
|
|||||||
// Internal JSON class and variables //
|
// Internal JSON class and variables //
|
||||||
//////////////////////////////////.////
|
//////////////////////////////////.////
|
||||||
private static final Gson jsonParser_ = new Gson();
|
private static final Gson jsonParser_ = new Gson();
|
||||||
private static final String API_ROOT = "https://e621.net/post/index.json?";
|
private static final String API_ROOT = "https://e621.net/posts.json?";
|
||||||
private static int maxSearchResults_ = 10;
|
private static int maxSearchResults_ = 10;
|
||||||
private static String[] blacklist = Ref.e621Blacklist;
|
private static String[] blacklist = Ref.e621Blacklist;
|
||||||
|
|
||||||
private class E6ResponseObject
|
private class E6ResponseObject
|
||||||
{
|
{
|
||||||
// public varaibles matching the case and the type we want for JSON.
|
// public variables matching the case and the type we want for JSON.
|
||||||
// There are many more fields, but if we don't provide some it just
|
// There are many more fields, but if we don't provide some it just
|
||||||
// doesn't bother parsing them.
|
// doesn't bother parsing them.
|
||||||
public String file_url;
|
public E6ResponseObjectPost [] posts;
|
||||||
public String id;
|
|
||||||
public String tags;
|
|
||||||
public String [] artist;
|
|
||||||
public String [] sources;
|
|
||||||
public String score;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class E6ResponseObjectPost
|
||||||
|
{
|
||||||
|
public String id;
|
||||||
|
public String [] sources;
|
||||||
|
public String[] pools;
|
||||||
|
public String rating;
|
||||||
|
public E6ResponseObjectFile file;
|
||||||
|
public E6ResponseObjectScore score;
|
||||||
|
public E6ResponseObjectTags tags;
|
||||||
|
public E6ResponseObjectRelationships relationships;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class E6ResponseObjectFile
|
||||||
|
{
|
||||||
|
public String url;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class E6ResponseObjectScore
|
||||||
|
{
|
||||||
|
public String total;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class E6ResponseObjectTags
|
||||||
|
{
|
||||||
|
public String[] general;
|
||||||
|
public String[] artist;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class E6ResponseObjectRelationships
|
||||||
|
{
|
||||||
|
public String has_children;
|
||||||
|
public String[] children;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -59,28 +91,26 @@ public class NetworkE6
|
|||||||
// Configure and send request. Note: Random ordering added as first
|
// Configure and send request. Note: Random ordering added as first
|
||||||
// tag by default. User-provided tags, therefore, will override it.
|
// tag by default. User-provided tags, therefore, will override it.
|
||||||
// If order:score is provided, that will be honored over order:random.
|
// If order:score is provided, that will be honored over order:random.
|
||||||
String res = HTTPUtils.sendPOSTRequest(API_ROOT
|
String res = HTTPUtils.sendGETRequest(API_ROOT + "tags=order:random%20" + input + "&limit=" + maxSearchResults_);
|
||||||
, "tags=order:random%20" + input + "&limit=" + maxSearchResults_);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(res != null)
|
if(res != null)
|
||||||
{
|
{
|
||||||
// Use class evaluation on an array of the response imageObject to be able to hold multiple.
|
|
||||||
E6ResponseObject[] imageObj = jsonParser_.fromJson(res, E6ResponseObject[].class);
|
|
||||||
|
|
||||||
|
// Use class evaluation on an array of the response imageObject to be able to hold multiple.
|
||||||
|
System.out.println("Still");
|
||||||
|
E6ResponseObject imageObj = jsonParser_.fromJson(res, E6ResponseObject.class);
|
||||||
|
System.out.println("Broken");
|
||||||
// For now, we really just wanna display images and their source.
|
// For now, we really just wanna display images and their source.
|
||||||
// Append them all separately to a response string w/ some flavor text.
|
// Append them all separately to a response string w/ some flavor text.
|
||||||
if(imageObj.length < 1)
|
if(imageObj.posts.length < 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
for(int i = 0; i < imageObj.posts.length; ++i)
|
||||||
for(int i = 0; i < imageObj.length; ++i)
|
|
||||||
{
|
{
|
||||||
String [] TagsList = imageObj[i].tags.split(" ");
|
String [] TagsList = imageObj.posts[i].tags.general;
|
||||||
blacklisted = false;
|
blacklisted = false;
|
||||||
for(int j = 0; j < blacklist.length; j++)
|
for(int j = 0; j < blacklist.length; j++)
|
||||||
{
|
{
|
||||||
@@ -99,10 +129,15 @@ public class NetworkE6
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// We will always have a file URL. That's a given.
|
// We will always have a file URL. That's a given.
|
||||||
image.editImageURL(imageObj[i].file_url);
|
image.editImageURL(imageObj.posts[i].file.url);
|
||||||
image.editPostURL("https://e621.net/post/show/" + imageObj[i].id);
|
image.editPostURL("https://e621.net/posts/" + imageObj.posts[i].id);
|
||||||
if(imageObj[i].artist.length > 0)
|
if(imageObj.posts[i].tags.artist.length > 0)
|
||||||
image.editArtist(imageObj[i].artist[0]);
|
{
|
||||||
|
String artists = "";
|
||||||
|
for(int j = 0; j < imageObj.posts[i].tags.artist.length; j++)
|
||||||
|
artists += imageObj.posts[i].tags.artist[j];
|
||||||
|
image.editArtist(artists);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
image.editArtist("Artist Not Found!");
|
image.editArtist("Artist Not Found!");
|
||||||
|
|
||||||
@@ -110,13 +145,13 @@ public class NetworkE6
|
|||||||
|
|
||||||
String sources = "";
|
String sources = "";
|
||||||
|
|
||||||
if(imageObj[i].sources != null)
|
if(imageObj.posts[i].sources != null)
|
||||||
{
|
{
|
||||||
for(int k = 0; k < imageObj[i].sources.length; k ++)
|
for(int k = 0; k < imageObj.posts[i].sources.length; k ++)
|
||||||
{
|
{
|
||||||
if(!imageObj[i].sources[k].endsWith(imageObj[i].file_url.substring(imageObj[i].file_url.lastIndexOf('.'))))
|
if(!imageObj.posts[i].sources[k].endsWith(imageObj.posts[i].file.url.substring(imageObj.posts[i].file.url.lastIndexOf('.'))))
|
||||||
{
|
{
|
||||||
String source = imageObj[i].sources[k];
|
String source = imageObj.posts[i].sources[k];
|
||||||
if(source.contains("//www."))
|
if(source.contains("//www."))
|
||||||
{
|
{
|
||||||
source = source.substring(source.indexOf(".") + 1);
|
source = source.substring(source.indexOf(".") + 1);
|
||||||
@@ -127,31 +162,30 @@ public class NetworkE6
|
|||||||
source = source.substring(source.indexOf("/") + 2);
|
source = source.substring(source.indexOf("/") + 2);
|
||||||
source = source.substring(0, source.indexOf('.'));
|
source = source.substring(0, source.indexOf('.'));
|
||||||
}
|
}
|
||||||
sources += " [" + source + "](" + imageObj[i].sources[k] + ") ";
|
sources += " [" + source + "](" + imageObj.posts[i].sources[k] + ") ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
image.editDescriptionText("Score: " + imageObj[i].score + "\n**Source:**" + sources);
|
image.editDescriptionText("Score: " + imageObj.posts[i].score.total + "\n**Source:**" + sources);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
image.editDescriptionText("Score: " + imageObj[i].score);
|
image.editDescriptionText("Score: " + imageObj.posts[i].score.total);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
String descTags = "";
|
||||||
if(imageObj[i].tags.split(" ").length > 15)
|
if(imageObj.posts[i].tags.general.length > 15)
|
||||||
{
|
{
|
||||||
String [] splitTags = imageObj[i].tags.split(" ");
|
|
||||||
String descTags = "";
|
|
||||||
for(int o = 0; o < 15; o++)
|
for(int o = 0; o < 15; o++)
|
||||||
{
|
{
|
||||||
descTags += splitTags[o] + ", ";
|
descTags += imageObj.posts[i].tags.general[o] + ", ";
|
||||||
}
|
}
|
||||||
image.editFooterText("[Tags] " + descTags + " etc.");
|
image.editFooterText("[Tags] " + descTags + " etc.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
image.editFooterText("[Tags] " + imageObj[i].tags.replace(" ", ", "));
|
descTags = imageObj.posts[i].tags.general.toString();
|
||||||
|
image.editFooterText("[Tags] " + descTags);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(image.output().authorText != null)
|
if(image.output().authorText != null)
|
||||||
|
|||||||
Reference in New Issue
Block a user