/** * @Route("/") * @Method("POST") */ public function saveAction(Request $request) { $link = new MagnetLink(); $link->setLink($request->request->get('link')); $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($link); $entityManager->flush(); return $this->redirect($this->generateUrl("app_default_index")); }
/** * @param Show $show * @param Episode $episode * @param Crawler $page * @return null|string */ protected function extractMagnetUrl(Show $show, Episode $episode, Crawler $page) { $nodes = $page->filter(".detName"); if ($nodes->count() == 0) { return null; } $tr = $page->filter('#searchResult tr')->eq(1); $link = new MagnetLink(); $a = $tr->filter('td')->eq(1)->filter('a')->eq(0); if (!$a) { return null; } $link->setDetailsLink("http://{$this->domain}{$a->attr('href')}"); $link->setLink(trim($tr->filter('a[title="Download this torrent using magnet"]')->attr('href'))); $link->setTitle(trim($tr->filter('.detName')->eq(0)->text())); $desc = $tr->filter('.detDesc')->text(); if (!preg_match('/^\\S+ (.*), .*\\s(\\S+)\\s.*,.*\\s(.*)$/', $desc, $matches)) { return null; } $link->setUploaded(trim($matches[1])); $link->setSize(trim($matches[2])); $link->setAuthor(trim($matches[3])); $link->setSeeds(trim($tr->filter('td')->eq(2)->text())); $link->setLeeches(trim($tr->filter('td')->eq(3)->text())); $link->setEpisode($episode); $link->setShow($show); return $link; }