From 66aa27859d78c9e70e49f994545c86e8e0efd487 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Thu, 24 Mar 2016 00:34:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D1=8B=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B8=20=D0=B2=D0=BE=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B8=D0=B7=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=84=D0=B8=D0=BB=D1=8C=D0=BC=D0=BE=D0=B2=20=D1=81?= =?UTF-8?q?=D0=BE=20=D1=81=D1=82=D0=BE=D1=80=D0=BE=D0=BD=D0=BD=D0=B8=D1=85?= =?UTF-8?q?=20=D1=80=D0=B5=D1=81=D1=83=D1=80=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 4 +- .../java/kinosearch/core/warez/Hdrezka.java | 3 +- .../java/kinosearch/core/warez/KinoWarez.java | 2 +- .../kinosearch/core/warez/Onlinelife.java | 22 +++++++- .../webapp/servlets/PlayerServlet.java | 53 +++++++++++++++++++ webapp/WEB-INF/player.html | 3 ++ webapp/WEB-INF/web.xml | 10 ++++ webapp/css/style.css | 6 +++ 8 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 src/main/java/kinosearch/webapp/servlets/PlayerServlet.java create mode 100644 webapp/WEB-INF/player.html diff --git a/build.gradle b/build.gradle index 45b4161..a8c95fd 100644 --- a/build.gradle +++ b/build.gradle @@ -14,8 +14,8 @@ dependencies { providedCompile (['javax.servlet:javax.servlet-api:3.0.1']) compile (['org.jsoup:jsoup:1.8.3']) compile (['org.freemarker:freemarker:2.3.23']) - testCompile (['junit:junit:4.12'], - ['com.google.code.gson:gson:2.4']) + compile (['com.google.code.gson:gson:2.4']) + testCompile (['junit:junit:4.12']) } idea.module.downloadSources = false diff --git a/src/main/java/kinosearch/core/warez/Hdrezka.java b/src/main/java/kinosearch/core/warez/Hdrezka.java index b41f3d1..20ace63 100644 --- a/src/main/java/kinosearch/core/warez/Hdrezka.java +++ b/src/main/java/kinosearch/core/warez/Hdrezka.java @@ -50,7 +50,8 @@ public class Hdrezka implements KinoWarez { } @Override - public void player(String page) { + public String player(String page) { //TODO ignore + return ""; } } diff --git a/src/main/java/kinosearch/core/warez/KinoWarez.java b/src/main/java/kinosearch/core/warez/KinoWarez.java index 14c774d..f0a5212 100644 --- a/src/main/java/kinosearch/core/warez/KinoWarez.java +++ b/src/main/java/kinosearch/core/warez/KinoWarez.java @@ -6,5 +6,5 @@ import java.util.List; public interface KinoWarez { void search(String nameKino, List outList, boolean strong); - void player(String page); + String player(String page); } diff --git a/src/main/java/kinosearch/core/warez/Onlinelife.java b/src/main/java/kinosearch/core/warez/Onlinelife.java index 213d6dc..7f50d3d 100644 --- a/src/main/java/kinosearch/core/warez/Onlinelife.java +++ b/src/main/java/kinosearch/core/warez/Onlinelife.java @@ -1,5 +1,7 @@ package kinosearch.core.warez; +import com.google.gson.Gson; +import com.google.gson.JsonObject; import kinosearch.core.browser.Browser; import kinosearch.core.Kino; import kinosearch.core.Tools; @@ -54,7 +56,23 @@ public class Onlinelife implements KinoWarez { } @Override - public void player(String page) { - //TODO some code... + public String player(String page) { + String movie_id = page.substring(1,page.indexOf("-")); + + Browser browser = Tools.createBrowser(); + browser.setEncoding("windows-1251"); + browser.setHeader("Referer", "http://dterod.com/player.php?newsid=" + movie_id); + String html = browser.get("http://dterod.com/js.php?id=" + movie_id); + html = html.substring(0, html.indexOf('\n')).trim(); + String json = html.substring(html.indexOf('{'), html.indexOf("};")+1); + JsonObject jsonObj = new Gson().fromJson(json, JsonObject.class); + + if (jsonObj.has("file")) { + return jsonObj.get("file").getAsString(); + } else if (jsonObj.has("pl")) { + return jsonObj.get("pl").getAsString(); + } else { + return ""; + } } } \ No newline at end of file diff --git a/src/main/java/kinosearch/webapp/servlets/PlayerServlet.java b/src/main/java/kinosearch/webapp/servlets/PlayerServlet.java new file mode 100644 index 0000000..b42d501 --- /dev/null +++ b/src/main/java/kinosearch/webapp/servlets/PlayerServlet.java @@ -0,0 +1,53 @@ +package kinosearch.webapp.servlets; + +import kinosearch.core.warez.KinoWarez; +import kinosearch.core.warez.Onlinelife; +import kinosearch.webapp.WebApp; +import kinosearch.webapp.template.TemplateProcessor; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Map; + +/** + * Created by DmitriyMX + * 2016 + */ +public class PlayerServlet extends HttpServlet { + private TemplateProcessor template; + + @Override + public void init(ServletConfig config) throws ServletException { + super.init(config); + template = WebApp.getTemplateProcessor(); + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + if (req.getPathInfo() == null) return; + + Map model = WebApp.getDefaultModel(getServletContext()); + + model.put("raw_data", String.format( + "req.getPathInfo() = %s\n" + + "req.getServletPath() = %s", + req.getPathInfo(), req.getServletPath())); + + KinoWarez kinoWarez = new Onlinelife(); + String movie_url = kinoWarez.player(req.getPathInfo()); + model.put("movie_url", movie_url); + + resp.setCharacterEncoding("UTF-8"); + resp.setContentType("text/html;charset=UTF-8"); + try { + template.process("player.html", model, resp.getWriter()); + } catch (IOException e) { + log("Error process template", e); + resp.sendError(500); + } + } +} diff --git a/webapp/WEB-INF/player.html b/webapp/WEB-INF/player.html new file mode 100644 index 0000000..a0d7bda --- /dev/null +++ b/webapp/WEB-INF/player.html @@ -0,0 +1,3 @@ +<#include "/header.inc.html"> + +<#include "/fother.inc.html"> \ No newline at end of file diff --git a/webapp/WEB-INF/web.xml b/webapp/WEB-INF/web.xml index b7cbaea..12aede8 100644 --- a/webapp/WEB-INF/web.xml +++ b/webapp/WEB-INF/web.xml @@ -17,6 +17,11 @@ kinosearch.webapp.servlets.TemplateServlet + + player + kinosearch.webapp.servlets.PlayerServlet + + index / @@ -28,6 +33,11 @@ *.html + + player + /onlinelife/* + + default /js/* diff --git a/webapp/css/style.css b/webapp/css/style.css index 3b2b3cd..bcc892d 100644 --- a/webapp/css/style.css +++ b/webapp/css/style.css @@ -52,4 +52,10 @@ input.check-middle { .news time { font-weight: bold; +} + +#player { + width: 100%; + height: auto; + background-color: #122b40; } \ No newline at end of file