[Servers] Adds PhenixScans [FR]
This commit is contained in:
parent
5946ba5193
commit
7dcf2b3d0b
|
@ -8,6 +8,7 @@
|
|||
# Asura Scans [EN]
|
||||
# Asura Scans [TR]
|
||||
# Flam Scans [EN]
|
||||
# PhenixScans [FR]
|
||||
# Rawkuma [JA]
|
||||
# Raw Manga [JA]
|
||||
|
||||
|
@ -123,6 +124,7 @@ class MangaStream(Server):
|
|||
'coming soon',
|
||||
'mass released',
|
||||
'daily release',
|
||||
'en cours', # fr
|
||||
'devam ediyor', # tr
|
||||
)
|
||||
if any(re.findall('|'.join(labels), label, re.IGNORECASE)):
|
||||
|
@ -131,6 +133,7 @@ class MangaStream(Server):
|
|||
# Complete
|
||||
labels = (
|
||||
'completed',
|
||||
'fini', # fr
|
||||
'tamamlandı', # tr
|
||||
)
|
||||
if any(re.findall('|'.join(labels), label, re.IGNORECASE)):
|
||||
|
@ -139,6 +142,7 @@ class MangaStream(Server):
|
|||
# Hiatus
|
||||
labels = (
|
||||
'hiatus',
|
||||
'en pause', # fr
|
||||
'bırakıldı', # tr
|
||||
)
|
||||
if any(re.findall('|'.join(labels), label, re.IGNORECASE)):
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# Copyright (C) 2019-2023 Valéry Febvre
|
||||
# SPDX-License-Identifier: GPL-3.0-only or GPL-3.0-or-later
|
||||
# Author: Valéry Febvre <vfebvre@easter-eggs.com>
|
||||
|
||||
from komikku.servers.multi.manga_stream import MangaStream
|
||||
|
||||
|
||||
class Phenixscans(MangaStream):
|
||||
id = 'phenixscans'
|
||||
name = 'PhenixScans'
|
||||
lang = 'fr'
|
||||
|
||||
base_url = 'https://phenixscans.fr'
|
||||
|
||||
authors_selector = '.infox .fmed:-soup-contains("Artiste") span, .infox .fmed:-soup-contains("Auteur") span'
|
||||
genres_selector = '.infox .mgen a'
|
||||
scanlators_selector = '.infox .fmed:-soup-contains("Serialization") span'
|
||||
status_selector = '.tsinfo .imptdt:-soup-contains("Statut") i'
|
||||
synopsis_selector = '[itemprop="description"]'
|
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
|
@ -0,0 +1,87 @@
|
|||
import logging
|
||||
import pytest
|
||||
from pytest_steps import test_steps
|
||||
|
||||
from komikku.utils import log_error_traceback
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def phenixscans_server():
|
||||
from komikku.servers.phenixscans import Phenixscans
|
||||
|
||||
return Phenixscans()
|
||||
|
||||
|
||||
@test_steps('get_latest_updates', 'get_most_populars', 'search', 'get_manga_data', 'get_chapter_data', 'get_page_image')
|
||||
def test_phenixscans(phenixscans_server):
|
||||
# Get latest updates
|
||||
print('Get latest updates')
|
||||
try:
|
||||
response = phenixscans_server.get_latest_updates('')
|
||||
except Exception as e:
|
||||
response = None
|
||||
log_error_traceback(e)
|
||||
|
||||
assert response is not None
|
||||
yield
|
||||
|
||||
# Get most popular
|
||||
print('Get most popular')
|
||||
try:
|
||||
response = phenixscans_server.get_most_populars('')
|
||||
except Exception as e:
|
||||
response = None
|
||||
log_error_traceback(e)
|
||||
|
||||
assert response
|
||||
yield
|
||||
|
||||
# Search
|
||||
print('Search')
|
||||
try:
|
||||
# Use first result of get_most_populars
|
||||
response = phenixscans_server.search(response[0]['name'], '')
|
||||
slug = response[0]['slug']
|
||||
except Exception as e:
|
||||
slug = None
|
||||
log_error_traceback(e)
|
||||
|
||||
assert slug is not None
|
||||
yield
|
||||
|
||||
# Get manga data
|
||||
print('Get manga data')
|
||||
try:
|
||||
response = phenixscans_server.get_manga_data(dict(slug=slug))
|
||||
chapter_slug = response['chapters'][0]['slug']
|
||||
except Exception as e:
|
||||
chapter_slug = None
|
||||
log_error_traceback(e)
|
||||
|
||||
assert chapter_slug is not None
|
||||
yield
|
||||
|
||||
# Get chapter data
|
||||
print("Get chapter data")
|
||||
try:
|
||||
response = phenixscans_server.get_manga_chapter_data(None, None, chapter_slug, None)
|
||||
page = response['pages'][0]
|
||||
except Exception as e:
|
||||
page = None
|
||||
log_error_traceback(e)
|
||||
|
||||
assert page is not None
|
||||
yield
|
||||
|
||||
# Get page image
|
||||
print('Get page image')
|
||||
try:
|
||||
response = phenixscans_server.get_manga_chapter_page_image(None, None, chapter_slug, page)
|
||||
except Exception as e:
|
||||
response = None
|
||||
log_error_traceback(e)
|
||||
|
||||
assert response is not None
|
||||
yield
|
Loading…
Reference in New Issue