aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md14
-rw-r--r--src/main/java/App.java22
-rw-r--r--src/main/java/com/pina/Holodex.java5
-rw-r--r--src/main/java/com/pina/HolodexService.java3
-rw-r--r--src/main/java/com/pina/datatypes/Channel.java7
-rw-r--r--src/main/java/com/pina/datatypes/SimpleChannel.java13
-rw-r--r--src/main/java/com/pina/datatypes/SimpleVideo.java23
-rw-r--r--src/main/java/com/pina/datatypes/Video.java22
8 files changed, 63 insertions, 46 deletions
diff --git a/README.md b/README.md
index 583d83a..b9ef647 100644
--- a/README.md
+++ b/README.md
@@ -11,12 +11,12 @@ Holodex holodex = new Holodex("YOUR_API_KEY");
Channel channel = holodex.getChannel("UC4WvIIAo89_AzGUh1AZ6Dkg");
System.out.println(channel.name + " is a member of " + channel.org + " and has " + channel.suborg + " as a suborg");
-LiveVideoQueryBuilder liveVideoQuery = new LiveVideoQueryBuilder().setStatus("live").setOrg("Hololive");
-List<Video> currentlyLiveVideos = holodex.getLiveVideos(liveVideoQuery);
+VideoQueryBuilder liveVideoQuery = new VideoQueryBuilder().setStatus("live").setOrg("Hololive");
+List<SimpleVideo> currentlyLiveVideos = holodex.getLiveAndUpcomingVideos(liveVideoQuery);
System.out.println("Currently there are " + currentlyLiveVideos.size() + " livestreams on going in Hololive");
-for (Video video : currentlyLiveVideos) {
- System.out.println(video.channel.name + " is currently live with " + video.live_viewers + " views");
+for (SimpleVideo video : currentlyLiveVideos) {
+System.out.println(video.channel.name + " is currently live with " + video.live_viewers + " views");
}
ChannelQueryBuilder channelQuery = new ChannelQueryBuilder();
@@ -24,11 +24,9 @@ channelQuery.setOrg("Nijisanji");
channelQuery.setLimit(75);
List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
-VideoQueryBuilder vidoeQuery = new VideoQueryBuilder();
-vidoeQuery.setVideoId("9-O_IWM3184");
-Video anotherVideo = holodex.getVideo(new VideoQueryBuilder().setVideoId("9-O_IWM3184").setLang("en"));
+Video anotherVideo = holodex.getVideo(new VideoMetadataQueryBuilder().setVideoId("9-O_IWM3184").setLang("en"));
System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title +
- " on " + anotherVideo.published_at);
+" on " + anotherVideo.published_at);
```
## Download
diff --git a/src/main/java/App.java b/src/main/java/App.java
index 1a21620..de0d268 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -1,6 +1,7 @@
import com.pina.Holodex;
import com.pina.HolodexException;
import com.pina.datatypes.Channel;
+import com.pina.datatypes.SimpleVideo;
import com.pina.datatypes.Video;
import com.pina.query.ChannelQueryBuilder;
import com.pina.query.VideoMetadataQueryBuilder;
@@ -13,14 +14,15 @@ public class App
public static void main( String[] args )
{
try {
- Holodex holodex = new Holodex("API_KEY"); //API key here is not active
+ Holodex holodex = new Holodex("5c9f2643-1762-40e8-85ab-b8e7d3e433a1");
Channel channel = holodex.getChannel("UC4WvIIAo89_AzGUh1AZ6Dkg");
System.out.println(channel.name + " is a member of " + channel.org + " and has " + channel.suborg + " as a suborg");
VideoQueryBuilder liveVideoQuery = new VideoQueryBuilder().setStatus("live").setOrg("Hololive");
- List<Video> currentlyLiveVideos = holodex.getLiveVideos(liveVideoQuery);
+ List<SimpleVideo> currentlyLiveVideos = holodex.getLiveAndUpcomingVideos(liveVideoQuery);
System.out.println("Currently there are " + currentlyLiveVideos.size() + " livestreams on going in Hololive");
- for (Video video : currentlyLiveVideos) {
+
+ for (SimpleVideo video : currentlyLiveVideos) {
System.out.println(video.channel.name + " is currently live with " + video.live_viewers + " views");
}
@@ -28,16 +30,14 @@ public class App
channelQuery.setOrg("Nijisanji");
channelQuery.setLimit(75);
List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
- // Gets the first 75 members of Nijisanji
- VideoMetadataQueryBuilder vidoeQuery = new VideoMetadataQueryBuilder();
- vidoeQuery.setVideoId("9-O_IWM3184");
Video anotherVideo = holodex.getVideo(new VideoMetadataQueryBuilder().setVideoId("9-O_IWM3184").setLang("en"));
- System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title + " on " + anotherVideo.published_at);
-
- }
- catch (HolodexException e) {
- e.printStackTrace();
+ System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title +
+ " on " + anotherVideo.published_at);
+ } catch (HolodexException ex) {
+ throw new RuntimeException(ex);
}
+
}
+
}
diff --git a/src/main/java/com/pina/Holodex.java b/src/main/java/com/pina/Holodex.java
index fa100f5..e436e39 100644
--- a/src/main/java/com/pina/Holodex.java
+++ b/src/main/java/com/pina/Holodex.java
@@ -1,6 +1,7 @@
package com.pina;
import com.pina.datatypes.Channel;
+import com.pina.datatypes.SimpleVideo;
import com.pina.datatypes.Video;
import com.pina.query.ChannelQueryBuilder;
import com.pina.query.VideoMetadataQueryBuilder;
@@ -46,8 +47,8 @@ public class Holodex {
service = retrofit.create(HolodexService.class);
}
- public List<Video> getLiveVideos(VideoQueryBuilder queryBuilder) throws HolodexException {
- Call<List<Video>> call = service.getLiveVideos(queryBuilder.getChannelId(), queryBuilder.getId(),
+ public List<SimpleVideo> getLiveAndUpcomingVideos(VideoQueryBuilder queryBuilder) throws HolodexException {
+ Call<List<SimpleVideo>> call = service.getLiveVideos(queryBuilder.getChannelId(), queryBuilder.getId(),
queryBuilder.getInclude(), queryBuilder.getLang(),
queryBuilder.getLimit(), queryBuilder.getMaxUpcomingHours(),
queryBuilder.getMentionedChannelId(), queryBuilder.getOffset(),
diff --git a/src/main/java/com/pina/HolodexService.java b/src/main/java/com/pina/HolodexService.java
index 4b42433..fa2af85 100644
--- a/src/main/java/com/pina/HolodexService.java
+++ b/src/main/java/com/pina/HolodexService.java
@@ -1,6 +1,7 @@
package com.pina;
import com.pina.datatypes.Channel;
+import com.pina.datatypes.SimpleVideo;
import com.pina.datatypes.Video;
import retrofit2.Call;
import retrofit2.http.GET;
@@ -11,7 +12,7 @@ import java.util.List;
public interface HolodexService {
@GET("/api/v2/live")
- Call<List<Video>> getLiveVideos(
+ Call<List<SimpleVideo>> getLiveVideos(
@Query("channel_id") String channel_id,
@Query("id") String id,
@Query("include") String include,
diff --git a/src/main/java/com/pina/datatypes/Channel.java b/src/main/java/com/pina/datatypes/Channel.java
index 1aace7e..cadfbc9 100644
--- a/src/main/java/com/pina/datatypes/Channel.java
+++ b/src/main/java/com/pina/datatypes/Channel.java
@@ -3,13 +3,8 @@ package com.pina.datatypes;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
-public class Channel {
- public String id;
- public String name;
- public String english_name;
- public String org;
+public class Channel extends SimpleChannel{
public String suborg;
- public String photo;
public String banner;
public String twitter;
public String video_count;
diff --git a/src/main/java/com/pina/datatypes/SimpleChannel.java b/src/main/java/com/pina/datatypes/SimpleChannel.java
new file mode 100644
index 0000000..c70a0be
--- /dev/null
+++ b/src/main/java/com/pina/datatypes/SimpleChannel.java
@@ -0,0 +1,13 @@
+package com.pina.datatypes;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class SimpleChannel {
+ public String id;
+ public String name;
+ public String english_name;
+ public String type;
+ public String photo;
+ public String org;
+}
diff --git a/src/main/java/com/pina/datatypes/SimpleVideo.java b/src/main/java/com/pina/datatypes/SimpleVideo.java
new file mode 100644
index 0000000..1d30748
--- /dev/null
+++ b/src/main/java/com/pina/datatypes/SimpleVideo.java
@@ -0,0 +1,23 @@
+package com.pina.datatypes;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties (ignoreUnknown = true)
+public class SimpleVideo {
+ public String id;
+ public String title;
+ public String type;
+ public String topic_id;
+ public String published_at;
+ public String available_at;
+ public int duration;
+ public String status;
+ public String start_scheduled;
+ public String start_actual;
+ public String end_actual;
+ public int live_viewers;
+ public String description;
+ public int songcount;
+ public String channel_id;
+ public Channel channel;
+}
diff --git a/src/main/java/com/pina/datatypes/Video.java b/src/main/java/com/pina/datatypes/Video.java
index 81cb017..037c549 100644
--- a/src/main/java/com/pina/datatypes/Video.java
+++ b/src/main/java/com/pina/datatypes/Video.java
@@ -6,27 +6,13 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.List;
@JsonIgnoreProperties(ignoreUnknown = true)
-public class Video {
- public String id;
- public String title;
- public String type;
- public String topic_id;
- public String published_at;
- public String available_at;
- public int duration;
- public String status;
- public String start_scheduled;
- public String start_actual;
- public String end_actual;
- public int live_viewers;
- public String description;
- public int songcount;
- public String channel_id;
+public class Video extends SimpleVideo {
public List<Video> clips;
+ public List<Video> sources;
public List<Video> refers;
- public List<Channel> mentions;
+ public List<Video> simulcasts;
+ public List<SimpleChannel> mentions;
public String thumbnail;
- public Channel channel;
public int songs;
}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage