package io.shockah.skylark.youtube;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import org.pircbotx.Colors;
import io.shockah.skylark.util.TimeDuration;
public final class Video {
public String id;
public String title;
public String channelTitle;
public int durationInSeconds;
public long views;
public int likes;
public int dislikes;
public String getShortURL() {
return String.format("http://youtu.be/%s", id);
}
public String format() {
return format(true);
}
public String format(boolean includeShortUrl) {
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
symbols.setGroupingSeparator(',');
DecimalFormat formatter = new DecimalFormat("###,###", symbols);
StringBuilder sb = new StringBuilder();
sb.append(String.format(" | &b%s&r", title));
sb.append(String.format(" | by &b%s&r", channelTitle));
if (durationInSeconds != 0)
sb.append(String.format(" | %s long", TimeDuration.formatSeconds(durationInSeconds)));
if (views != 0)
sb.append(String.format(" | %s view%s", formatter.format(views), views == 1 ? "" : "s"));
if (likes + dislikes != 0) {
DecimalFormatSymbols symbols2 = DecimalFormatSymbols.getInstance();
symbols2.setDecimalSeparator('.');
DecimalFormat formatter2 = new DecimalFormat("###.##", symbols2);
sb.append(String.format(
" | +%s / -%s (%s%%)",
formatter.format(likes),
formatter.format(dislikes),
formatter2.format(100d * likes / (likes + dislikes))
));
}
if (includeShortUrl)
sb.append(String.format(" | %s", getShortURL()));
String ret = sb.toString().substring(3);
ret = ret.replace("&b", Colors.BOLD);
ret = ret.replace("&r", Colors.NORMAL);
return ret;
}
}