OSDN Git Service

efe6d6f67b43c546335d7fde44c8d82d7aefba32
[coroid/inqubus.git] / frontend / src / saccubus / converter / filegetter / CommentFileWebGetter.java
1 package saccubus.converter.filegetter;
2
3 import java.io.File;
4 import java.io.IOException;
5 import saccubus.net.CommentInfo;
6 import saccubus.net.NicoClient;
7 import saccubus.net.TextProgressListener;
8 import saccubus.net.VideoInfo;
9
10 /**
11  *
12  * @author yuki
13  */
14 public class CommentFileWebGetter extends TcommFileWebGetter {
15
16     private final boolean autoCommentNum;
17     private final int backComment;
18     private final boolean reduceComment;
19     private final CommentInfo commentInfo;
20
21     CommentFileWebGetter(NicoClient client, VideoInfo vi, CommentInfo ci, boolean autoCommentNum, int backComment, boolean reduceComment) {
22         super(client, vi);
23         this.autoCommentNum = autoCommentNum;
24         this.backComment = backComment;
25         this.reduceComment = reduceComment;
26         this.commentInfo = ci;
27     }
28
29     @Override
30     public File get(File file, TextProgressListener listener) throws IOException {
31         int com;
32         if (this.autoCommentNum) {
33             com = getVideoInfo().getBackCommentFromLength();
34         } else {
35             com = backComment;
36         }
37
38         File res = getClient().getComment(getVideoInfo(), getCommentInfo(), file, listener, com, reduceComment);
39         if (res == null) {
40             throw new IOException("コメントファイルのダウンロードに失敗しました。");
41         }
42         return res;
43     }
44
45     private CommentInfo getCommentInfo() {
46         return commentInfo;
47     }
48 }