GalleryPageUrlParser supports non-strict url
This commit is contained in:
1 parent
54f1c4806f
commit
7104fddded
2 files changed
+85
-4
No files matched your search
@@ -16,8 +16,8 @@
|
||||
|
||||
package com.hippo.ehviewer.client.parser;
|
||||
|
||||
import android.support.annotation.Nullable;
|
||||
import com.hippo.ehviewer.client.EhUrl;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@@ -26,15 +26,25 @@ import java.util.regex.Pattern;
|
||||
*/
|
||||
public final class GalleryPageUrlParser {
|
||||
|
||||
public static final Pattern URL_PATTERN = Pattern.compile("https?://(?:" +
|
||||
EhUrl.DOMAIN_EX + "|" + EhUrl.DOMAIN_E + "|" + EhUrl.DOMAIN_LOFI + ")/s/(\\w+)/(\\d+)-(\\d+)");
|
||||
private static final Pattern URL_STRICT_PATTERN = Pattern.compile(
|
||||
"https?://(?:" + EhUrl.DOMAIN_EX + "|" + EhUrl.DOMAIN_E + "|" + EhUrl.DOMAIN_LOFI + ")/s/([0-9a-f]{10})/(\\d+)-(\\d+)");
|
||||
|
||||
private static final Pattern URL_PATTERN = Pattern.compile(
|
||||
"([0-9a-f]{10})/(\\d+)-(\\d+)");
|
||||
|
||||
@Nullable
|
||||
public static Result parse(String url) {
|
||||
return parse(url, true);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static Result parse(String url, boolean strict) {
|
||||
if (url == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Matcher m = URL_PATTERN.matcher(url);
|
||||
Pattern pattern = strict ? URL_STRICT_PATTERN : URL_PATTERN;
|
||||
Matcher m = pattern.matcher(url);
|
||||
if (m.find()) {
|
||||
Result result = new Result();
|
||||
result.gid = Long.parseLong(m.group(2));
|
||||
|
||||
Reference in new issue
Block a user