Exemple #1
0
 def _parse_desc(self):
     release_element = self.res_soup.select_one('a[onclick*="#torrent_{}"]'.format(self.torrent_id))
     release_edition = release_element.find_parent('tbody').find_previous_sibling().td.text
     self.release_title, release_tag = re.search(r'(.+) (\[.+])', release_element.text.strip()).groups()
     release_tag = [i.replace(']', '').strip() if '!' not in i else None for i in release_tag.split(',')]
     release_tag = list(filter(None,release_tag))
     self.release_title = self.release_title.replace('/', '').replace('[FitGirl Repack]', '-Fitgirl')
     description_element = self.res_soup.select_one('tr#torrent_{} blockquote#description'.format(self.torrent_id))
     torrent_description = HTML2PHPBBCode().feed(str(description_element)).replace('[list]', '').replace('[/list]',
                                                                                                         '').replace(
         '[*]', '\n[*]')
     self.torrent_desc = re.sub(r'(/nfoimg/\d+\.png)', r'https://gazellegames.net\g<1>', torrent_description)
     if 'GOG' in release_edition.upper():
         self.release_title += '-GOG'
     self.release_type = release_tag[-1]
     if self.release_type == 'GameDOX':
         self.release_type = self.release_title.split('-')[-1].strip()
     self.scene = 'yes' if 'scene' in release_tag else 'no'
     self.verified = 'yes' if self.release_type in 'P2P DRM Free' else 'no'
     self.platform = self.res_soup.select_one('#groupplatform a').text
     return self.torrent_desc
# -*- coding: utf-8 -*-
import pytest

from html2phpbbcode.parser import HTML2PHPBBCode


parser = HTML2PHPBBCode()

@pytest.mark.parametrize("html,bbcode", [
    ("\t<p>Hello</p>\n\n<p>World</p>", " \nHello\n \nWorld\n"),
    ("<b> So many spaces    </b>    <b> Why? </b>", "[b] So many spaces [/b] [b] Why? [/b]"),
    ("\n<p><br /></p>\n", " \n\n\n ")
])
def test_whitespace(html, bbcode):
    assert parser.feed(html) == bbcode
Exemple #3
0
    def _get_desc(self):
        release_element = self.res_soup.select_one(
            'a[onclick*="#torrent_{}"]'.format(self.torrent_id))
        parsed_title, release_tag = re.search(
            r'(.+) (\[.+])', release_element.text.strip()).groups()
        release_tag = [
            i.replace(']', '').strip() if '!' not in i else None
            for i in release_tag.split(',')
        ]
        release_tag = list(filter(None, release_tag))

        if ELITEGAMER == 'yes':
            url = 'https://gazellegames.net/torrents.php?action=edit&id={}'.format(
                self.torrent_id)
            # url = 'http://127.0.0.1:85/ggn5.html'
            desc = self.session.get(url)
            desc_soup = BeautifulSoup(desc.text, 'lxml')
            self.torrent_desc = desc_soup.select_one(
                '#release_desc').text.replace('[align=center]',
                                              '').replace('[/align]', '')
            self.release_title = desc_soup.select_one('#release_title').get(
                'value').replace('/', '') if desc_soup.select_one(
                    '#release_title').get('value') else self.name
            self.release_edition = desc_soup.select_one('#remaster_title').get(
                'value').upper() if desc_soup.select_one(
                    '#remaster_title') else 'Original Edition'
            self.release_type = desc_soup.select_one(
                '#miscellaneous option[selected="selected"]').text
            if self.release_type == 'GameDOX':
                self.release_type = desc_soup.select_one(
                    '#gamedox option[selected="selected"]').text
            self.platform = desc_soup.select_one(
                '#platform option[selected="selected"]').text
        else:
            self.release_edition = release_element.find_parent(
                'tbody').find_previous_sibling().td.text
            self.release_title = parsed_title
            description_element = self.res_soup.select_one(
                'tr#torrent_{} blockquote#description'.format(self.torrent_id))
            torrent_description = HTML2PHPBBCode().feed(
                str(description_element)).replace('[list]', '').replace(
                    '[/list]', '').replace('[*]', '\n[*]')
            self.torrent_desc = re.sub(r'(/nfoimg/\d+\.png)',
                                       r'https://gazellegames.net\g<1>',
                                       torrent_description)
            self.release_type = release_tag[-1]
            if self.release_type == 'GameDOX':
                self.release_type = self.release_title.split('-')[-1].strip()
            self.platform = self.res_soup.select_one('#groupplatform a').text

        self.release_title = self.release_title.replace('/', '').replace(
            '[FitGirl Repack]', '-Fitgirl')

        if 'GOG' in self.release_edition.upper():
            self.release_title += '-GOG'
            self.verified = 'yes'
        elif 'INTRO' in self.release_edition.upper():
            self.release_title += '-No-Intro'
            self.verified = 'yes'
        elif 'REDUMP' in self.release_edition.upper():
            self.release_title += '-redump.org'
            self.verified = 'yes'
        self.verified = 'yes' if self.release_type in 'P2P DRM Free' else self.verified
        self.scene = 'yes' if 'Scene' in release_tag else 'no'
        return self.torrent_desc