aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.idea/encodings.xml7
-rw-r--r--src/main/java/App.java43
-rw-r--r--src/main/java/com/pina/query/ChannelQueryBuilder.java21
-rw-r--r--src/main/java/com/pina/query/VideoQueryBuilder.java10
4 files changed, 48 insertions, 33 deletions
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding">
+ <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+ <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
+ </component>
+</project> \ No newline at end of file
diff --git a/src/main/java/App.java b/src/main/java/App.java
index 6a5fc48..05f4856 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -4,6 +4,7 @@ import com.pina.datatypes.Channel;
import com.pina.datatypes.Video;
import com.pina.query.ChannelQueryBuilder;
import com.pina.query.LiveVideoQueryBuilder;
+import com.pina.query.VideoQueryBuilder;
import java.util.List;
@@ -11,35 +12,31 @@ public class App
{
public static void main( String[] args )
{
- Holodex holodex = new Holodex("b33eda39-dfb0-4337-9c8a-49cd8e69f5d5");
try {
- ChannelQueryBuilder query = new ChannelQueryBuilder();
- query.setOrg("Hololive");
- List<Channel> channels = holodex.getChannels(query);
- System.out.println("The Members of Hololive are:");
- for (Channel channel : channels) {
- System.out.println(channel.name + " (" + channel.id + ")");
- }
- System.out.println("\n");
- Channel channel = holodex.getChannel("UC1DCedRgGHBdm81E1llLhOQ");
- System.out.println(channel.name+"'s English name is " + channel.english_name);
- System.out.println(channel.name+" is a "+channel.type);
+ Holodex holodex = new Holodex("b33eda39-dfb0-4337-9c8a-49cd8e69f5d5");
+ 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 liveQuery = new LiveVideoQueryBuilder();
- liveQuery.setChannelId("UCkngxfPbmGyGl_RIq4FA3MQ");
- liveQuery.setStatus("upcoming");
- List<Video> chigusaUpcoming = holodex.getVideos(liveQuery);
- System.out.println("\n");
- System.out.println("Chigusa's upcoming streams are:");
- for (Video video : chigusaUpcoming) {
- System.out.println(video.title + " (" + video.id + ")");
+ LiveVideoQueryBuilder liveVideoQuery = new LiveVideoQueryBuilder().setStatus("live").setOrg("Hololive");
+ List<Video> currentlyLiveVideos = holodex.getLiveVideos(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");
}
+ ChannelQueryBuilder channelQuery = new ChannelQueryBuilder();
+ 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"));
+ System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title + " on " + anotherVideo.published_at);
- } catch (HolodexException e) {
- System.err.println("Failed to get live streams: " + e.getMessage());
}
- System.exit(0);
+ catch (HolodexException e) {
+ e.printStackTrace();
+ }
}
}
diff --git a/src/main/java/com/pina/query/ChannelQueryBuilder.java b/src/main/java/com/pina/query/ChannelQueryBuilder.java
index 490a5c9..13fd387 100644
--- a/src/main/java/com/pina/query/ChannelQueryBuilder.java
+++ b/src/main/java/com/pina/query/ChannelQueryBuilder.java
@@ -13,56 +13,63 @@ public class ChannelQueryBuilder {
return limit;
}
- public void setLimit(Integer limit) {
+ public ChannelQueryBuilder setLimit(Integer limit) {
this.limit = limit;
+ return this;
}
public Integer getOffset() {
return offset;
}
- public void setOffset(Integer offset) {
+ public ChannelQueryBuilder setOffset(Integer offset) {
this.offset = offset;
+ return this;
}
public String getType() {
return type;
}
- public void setType(String type) {
+ public ChannelQueryBuilder setType(String type) {
this.type = type;
+ return this;
}
public String getLang() {
return lang;
}
- public void setLang(String lang) {
+ public ChannelQueryBuilder setLang(String lang) {
this.lang = lang;
+ return this;
}
public String getOrder() {
return order;
}
- public void setOrder(String order) {
+ public ChannelQueryBuilder setOrder(String order) {
this.order = order;
+ return this;
}
public String getOrg() {
return org;
}
- public void setOrg(String org) {
+ public ChannelQueryBuilder setOrg(String org) {
this.org = org;
+ return this;
}
public String getSort() {
return sort;
}
- public void setSort(String sort) {
+ public ChannelQueryBuilder setSort(String sort) {
this.sort = sort;
+ return this;
}
diff --git a/src/main/java/com/pina/query/VideoQueryBuilder.java b/src/main/java/com/pina/query/VideoQueryBuilder.java
index 76d01db..bd6d1b0 100644
--- a/src/main/java/com/pina/query/VideoQueryBuilder.java
+++ b/src/main/java/com/pina/query/VideoQueryBuilder.java
@@ -1,5 +1,6 @@
package com.pina.query;
+
public class VideoQueryBuilder {
private String videoId;
private String lang;
@@ -9,24 +10,27 @@ public class VideoQueryBuilder {
return videoId;
}
- public void setVideoId(String videoId) {
+ public VideoQueryBuilder setVideoId(String videoId) {
this.videoId = videoId;
+ return this;
}
public String getLang() {
return lang;
}
- public void setLang(String lang) {
+ public VideoQueryBuilder setLang(String lang) {
this.lang = lang;
+ return this;
}
public String getC() {
return c;
}
- public void setC(String c) {
+ public VideoQueryBuilder setC(String c) {
this.c = c;
+ return this;
}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage