ctbrec-5.3.2-experimental/common/src/main/java/ctbrec/sites/fc2live/Fc2Live.java

114 lines
2.4 KiB
Java

package ctbrec.sites.fc2live;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import ctbrec.Config;
import ctbrec.Model;
import ctbrec.io.HttpClient;
import ctbrec.sites.AbstractSite;
public class Fc2Live extends AbstractSite {
public static final String BASE_URL = "https://live.fc2.com";
private Fc2HttpClient httpClient;
@Override
public String getName() {
return "FC2Live";
}
@Override
public String getBaseUrl() {
return BASE_URL;
}
@Override
public String getAffiliateLink() {
return BASE_URL + "/?afid=98987181";
}
@Override
public Model createModel(String name) {
name = name.replace("/", "_");
Fc2Model model = new Fc2Model();
model.setSite(this);
model.setName(name);
return model;
}
@Override
public Model createModelFromUrl(String url) {
Matcher m = Pattern.compile("http.*?fc2.*?.com/(\\d+)/?").matcher(url);
if(m.find()) {
Fc2Model model = (Fc2Model) createModel("");
model.setId(m.group(1));
try {
model.loadModelInfo();
model.setUrl(url);
} catch (IOException e) {
return null;
}
return model;
}
return super.createModelFromUrl(url);
}
@Override
public Double getTokenBalance() throws IOException {
return 0d;
}
@Override
public String getBuyTokensLink() {
return getAffiliateLink();
}
@Override
public boolean login() throws IOException {
return credentialsAvailable() && getHttpClient().login();
}
@Override
public HttpClient getHttpClient() {
if(httpClient == null) {
httpClient = new Fc2HttpClient();
}
return httpClient;
}
@Override
public void init() throws IOException {
}
@Override
public void shutdown() {
if(httpClient != null) {
httpClient.shutdown();
}
}
@Override
public boolean supportsTips() {
return false;
}
@Override
public boolean supportsFollow() {
return true;
}
@Override
public boolean isSiteForModel(Model m) {
return m instanceof Fc2Model;
}
@Override
public boolean credentialsAvailable() {
return !Config.getInstance().getSettings().fc2liveUsername.isEmpty();
}
}