Skip to content

Commit

Permalink
Merge pull request #26 from toshka/master
Browse files Browse the repository at this point in the history
Added support for casstudio.tv tracker.
  • Loading branch information
idlesign committed Feb 10, 2019
2 parents 4f6f730 + 00ffa61 commit 6f091d0
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions torrt/trackers/casstudio.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
import logging

import six

from torrt.base_tracker import GenericPrivateTracker
from torrt.utils import TrackerClassesRegistry


LOGGER = logging.getLogger(__name__)


class CasstudioTracker(GenericPrivateTracker):
"""This class implements .torrent files downloads for https://casstudio.tv/ tracker."""

alias = 'casstudio.tv'
login_url = 'https://%(domain)s/ucp.php?mode=login'
auth_cookie_name = 'phpbb3_lawmj_sid'
auth_qs_param_name = 'mode'

def get_login_form_data(self, login, password):
index_page = self.get_response(url=(self.login_url % {'domain': self.alias}))
soup_response = self.make_page_soup(index_page.text)
sid = soup_response.find(attrs={'name': 'sid'}).get('value')
self.cookies = index_page.cookies
self.login_url += '&sid=%s' % sid
return {'username': login, 'password': password, 'autologin': 'on',
'redirect': 'index.php', 'sid': sid, 'login': six.u('Вход')}

def get_download_link(self, url):
"""Tries to find .torrent file download link at forum thread page and return that one."""
page_soup = self.get_response(
url, referer=url, cookies=self.cookies, query_string=self.query_string, as_soup=True
)

domain = self.extract_domain(url)

is_anonymous = self.find_links(url, page_soup, '\./ucp\.php\?mode=login') is not None
if is_anonymous:
self.login(domain)
page_soup = self.get_response(
url, referer=url, cookies=self.cookies, query_string=self.query_string, as_soup=True
)
download_link = self.find_links(url, page_soup, '\./download/file\.php\?id=\d+$')
return download_link


TrackerClassesRegistry.add(CasstudioTracker)

0 comments on commit 6f091d0

Please sign in to comment.