aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/App.java1
-rw-r--r--src/main/java/com/pina/Holodex.java19
-rw-r--r--src/main/java/com/pina/query/VideosByChannelIDQueryBuilder.java (renamed from src/main/java/com/pina/query/VideosByChannelIDQuery.java)16
3 files changed, 24 insertions, 12 deletions
diff --git a/src/main/java/App.java b/src/main/java/App.java
index 05f4856..77c3a1e 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -28,6 +28,7 @@ public class App
channelQuery.setOrg("Nijisanji");
channelQuery.setLimit(75);
List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
+ // Gets the first 75 members of Nijisanji
VideoQueryBuilder vidoeQuery = new VideoQueryBuilder();
vidoeQuery.setVideoId("9-O_IWM3184");
diff --git a/src/main/java/com/pina/Holodex.java b/src/main/java/com/pina/Holodex.java
index 5253f2b..830b01f 100644
--- a/src/main/java/com/pina/Holodex.java
+++ b/src/main/java/com/pina/Holodex.java
@@ -5,7 +5,7 @@ import com.pina.datatypes.Video;
import com.pina.query.ChannelQueryBuilder;
import com.pina.query.LiveVideoQueryBuilder;
import com.pina.query.VideoQueryBuilder;
-import com.pina.query.VideosByChannelIDQuery;
+import com.pina.query.VideosByChannelIDQueryBuilder;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import retrofit2.Call;
@@ -17,9 +17,18 @@ import java.io.IOException;
import java.util.List;
public class Holodex {
- private final HolodexService service;
+ private HolodexService service;
public Holodex(String apiKey) {
+ initializeHolodexService(apiKey, "https://holodex.net");
+ }
+
+ public Holodex(String apiKey, String baseUrl) {
+ // purely for unit testing
+ initializeHolodexService(apiKey, baseUrl);
+ }
+
+ private void initializeHolodexService(String apiKey, String baseUrl){
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(chain -> {
Request original = chain.request();
@@ -30,7 +39,7 @@ public class Holodex {
return chain.proceed(request);
});
Retrofit retrofit = new Retrofit.Builder()
- .baseUrl("https://holodex.net")
+ .baseUrl(baseUrl)
.addConverterFactory(JacksonConverterFactory.create())
.client(httpClient.build())
.build();
@@ -38,6 +47,8 @@ public class Holodex {
}
+
+
public List<Video> getLiveVideos(LiveVideoQueryBuilder queryBuilder) throws HolodexException {
Call<List<Video>> call = service.getLiveVideos(queryBuilder.getChannelId(), queryBuilder.getId(),
queryBuilder.getInclude(), queryBuilder.getLang(),
@@ -67,7 +78,7 @@ public class Holodex {
return executeCall(call);
}
- public List<Video> getVideosByChannelId(VideosByChannelIDQuery query) throws HolodexException {
+ public List<Video> getVideosByChannelId(VideosByChannelIDQueryBuilder query) throws HolodexException {
Call<List<Video>> call = service.getVideosByChannelId(query.getChannelId(), query.getType(), query.getInclude(),
query.getLang(), query.getLimit(), query.getOffset(), query.getPaginated());
return executeCall(call);
diff --git a/src/main/java/com/pina/query/VideosByChannelIDQuery.java b/src/main/java/com/pina/query/VideosByChannelIDQueryBuilder.java
index 73999f0..ddaa3ec 100644
--- a/src/main/java/com/pina/query/VideosByChannelIDQuery.java
+++ b/src/main/java/com/pina/query/VideosByChannelIDQueryBuilder.java
@@ -1,6 +1,6 @@
package com.pina.query;
-public class VideosByChannelIDQuery {
+public class VideosByChannelIDQueryBuilder {
private String channelId;
private String type;
private String include;
@@ -9,37 +9,37 @@ public class VideosByChannelIDQuery {
private Integer offset;
private String paginated;
- public VideosByChannelIDQuery setChannelId(String channelId) {
+ public VideosByChannelIDQueryBuilder setChannelId(String channelId) {
this.channelId = channelId;
return this;
}
- public VideosByChannelIDQuery setType(String type) {
+ public VideosByChannelIDQueryBuilder setType(String type) {
this.type = type;
return this;
}
- public VideosByChannelIDQuery setInclude(String include) {
+ public VideosByChannelIDQueryBuilder setInclude(String include) {
this.include = include;
return this;
}
- public VideosByChannelIDQuery setLang(String lang) {
+ public VideosByChannelIDQueryBuilder setLang(String lang) {
this.lang = lang;
return this;
}
- public VideosByChannelIDQuery setLimit(Integer limit) {
+ public VideosByChannelIDQueryBuilder setLimit(Integer limit) {
this.limit = limit;
return this;
}
- public VideosByChannelIDQuery setOffset(Integer offset) {
+ public VideosByChannelIDQueryBuilder setOffset(Integer offset) {
this.offset = offset;
return this;
}
- public VideosByChannelIDQuery setPaginated(String paginated) {
+ public VideosByChannelIDQueryBuilder setPaginated(String paginated) {
this.paginated = paginated;
return this;
}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage