package net.pms.util;
import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
public class ImdbUtil {
private static final String HASH_REG = "_os([^_]+)_";
private static final String IMDB_REG = "_imdb([^_]+)_";
public static String cleanName(String str) {
return str.replaceAll(IMDB_REG, "").replaceAll(HASH_REG, "");
}
public static String extractOSHash(File file) {
return extract(file, HASH_REG);
}
public static String extractImdb(File file) {
String ret = extract(file, IMDB_REG);
// Opensubtitles requires IMDb ID to be a number only
if (!StringUtils.isEmpty(ret) && ret.startsWith("tt") && ret.length() > 2) {
ret = ret.substring(2);
}
return ret;
}
private static String extract(File f, String reg) {
String fName = f.getAbsolutePath();
Pattern re = Pattern.compile(reg);
Matcher m = re.matcher(fName);
String ret = "";
while (m.find()) {
ret = m.group(1);
}
return ret;
}
public static String ensureTT(String s) {
return (s.startsWith("tt") ? s : "tt" + s);
}
}