From de19de2efe89c265f9bdc7339ac94a58b7cd70dd Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 3 Jan 2021 20:54:45 +0100 Subject: [PATCH] Fix add by model URL for MV Live --- .../java/ctbrec/sites/manyvids/MVLive.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/ctbrec/sites/manyvids/MVLive.java b/common/src/main/java/ctbrec/sites/manyvids/MVLive.java index 9e49863a..e3cfea35 100644 --- a/common/src/main/java/ctbrec/sites/manyvids/MVLive.java +++ b/common/src/main/java/ctbrec/sites/manyvids/MVLive.java @@ -3,6 +3,8 @@ package ctbrec.sites.manyvids; import static ctbrec.io.HttpConstants.*; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -258,13 +260,19 @@ public class MVLive extends AbstractSite { @Override public Model createModelFromUrl(String url) { - Matcher m = Pattern.compile("https://live.manyvids.com/(?:stream/)?(.*?)(?:/.*?)?").matcher(url.trim()); - if(m.matches()) { - return createModel(m.group(1)); - } - m = Pattern.compile("https://www.manyvids.com/MVLive/(.*?)/\\d+/?").matcher(url.trim()); - if(m.matches()) { - return createModel(m.group(1)); + try { + Matcher m = Pattern.compile("https://live.manyvids.com/(?:stream/)?(.*?)(?:/.*?)?").matcher(url.trim()); + if (m.matches()) { + String modelName = URLDecoder.decode(m.group(1), "utf-8"); + return createModel(modelName); + } + m = Pattern.compile("https://www.manyvids.com/MVLive/(.*?)/\\d+/?").matcher(url.trim()); + if (m.matches()) { + String modelName = URLDecoder.decode(m.group(1), "utf-8"); + return createModel(modelName); + } + } catch (UnsupportedEncodingException e) { + LOG.error("Couldn't decode model name from URL", e); } return super.createModelFromUrl(url);