Skip to content

Commit

Permalink
Fix: make tag removal work lol
Browse files Browse the repository at this point in the history
  • Loading branch information
Kodehawa committed Oct 5, 2022
1 parent 70ecc7b commit 06c3b63
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 18 deletions.
15 changes: 6 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,10 @@ plugins {
}

import org.apache.tools.ant.filters.ReplaceTokens
def versionObj = new Version(major: 2, minor: 5, revision: 2)
def versionObj = new Version(major: 2, minor: 6, revision: 0)

group 'net.kodehawa'
version "$versionObj"

def artifactid = 'imageboard-api'

apply plugin: 'java'

sourceCompatibility = 1.8
Expand All @@ -22,12 +19,12 @@ repositories {
}

dependencies {
implementation 'com.fasterxml.jackson.core:jackson-core:2.12.4'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.4'
implementation 'com.squareup.okhttp3:okhttp:3.14.9'
implementation 'org.slf4j:slf4j-api:1.7.32'
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.4'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4'
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
implementation 'org.slf4j:slf4j-api:2.0.1'

testImplementation 'ch.qos.logback:logback-classic:1.2.5'
testImplementation 'ch.qos.logback:logback-classic:1.4.1'
testImplementation 'junit:junit:4.13.2'
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/kodehawa/lib/imageboards/ImageBoard.java
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ private RequestAction<List<T>> makeRequest(int page, int limit, String search, R
tags.append(" status:active");
}

urlBuilder.addQueryParameter("tags", tags.toString());
urlBuilder.addEncodedQueryParameter("tags", tags.toString());
}

HttpUrl url = urlBuilder.build();
Expand Down
22 changes: 14 additions & 8 deletions src/test/java/net/kodehawa/lib/imageboards/ImageBoardTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -111,30 +111,36 @@ public void tagsReturnRelevantResults() {
String tag = "animal_ears";
String[] knownAliases = {"animal_ear", "animal_humanoid"};

String tagRemoval = "-animal_ears humanoid";
String tagRemoval2 = "-animal_ear humanoid";

// This actually used to alias animal_ears to animal_humanoid, but it doesn't anymore (As of 08/12/2021)
// Nothing I can do on my side!
assertTrue(e621.search(1, knownAliases[1]).blocking().get(0).getTags().contains(knownAliases[1]));

assertTrue(konachan.search(1, tag).blocking().get(0).getTags().contains(tag));

assertTrue(rule34.search(1, tag).blocking().get(0).getTags().contains(tag) ||
rule34.search(1, tag).blocking().get(0).getTags().contains(knownAliases[0]));

assertTrue(yandere.search(1, tag).blocking().get(0).getTags().contains(tag));

assertTrue(danbooru.search(1, tag).blocking().get(0).getTags().contains(tag));

assertTrue(safebooru.search(1, tag).blocking().get(0).getTags().contains(tag));

assertTrue(yandere.search("animal_ears yuri", Rating.EXPLICIT).blocking().get(0).getTags().contains(tag));

assertTrue(gelbooru.search(1, tag).blocking().get(0).getTags().contains(tag));

// Tag removal
assertFalse(e621.search(100, tagRemoval2).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));
assertFalse(konachan.search(100, tagRemoval).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));
assertFalse(rule34.search(100, tagRemoval).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));
assertFalse(yandere.search(100, tagRemoval).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));
assertFalse(danbooru.search(100, tagRemoval).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));
assertFalse(safebooru.search(100, tagRemoval).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));
assertFalse(yandere.search("-animal_ears humanoid yuri", Rating.EXPLICIT).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));
assertFalse(gelbooru.search(100, tagRemoval).blocking().stream().anyMatch(image -> image.getTags().contains(tag)));

// Same for e961, no more tag aliases seemingly
assertTrue(e926.search(1, knownAliases[1]).blocking().get(0).getTags().contains(knownAliases[1]));

// This shouldn't fail, even if Yande.re has no GENERAL rating, as we adjust to this.
assertSame(yandere.search(tag, Rating.GENERAL).blocking().get(0).getRating(), Rating.SAFE);

assertSame(yandere.search(tag, Rating.EXPLICIT).blocking().get(0).getRating(), Rating.EXPLICIT);
assertSame(danbooru.search(tag, Rating.EXPLICIT).blocking().get(0).getRating(), Rating.EXPLICIT);
assertSame(danbooru.search(tag, Rating.QUESTIONABLE).blocking().get(0).getRating(), Rating.QUESTIONABLE);
Expand Down

0 comments on commit 06c3b63

Please sign in to comment.