65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
from manga_py.provider import Provider
|
|
from .helpers import tsumino_com
|
|
from .helpers.std import Std
|
|
|
|
|
|
class TsuminoCom(Provider, Std):
|
|
__local_storage = None
|
|
|
|
def get_archive_name(self) -> str:
|
|
return 'archive'
|
|
|
|
def get_chapter_index(self) -> str:
|
|
return '0'
|
|
|
|
def get_main_content(self):
|
|
url = self.get_url()
|
|
if ~url.find('/Read/'):
|
|
url = self.html_fromstring(url, '#backToIndex + a', 0).get('href')
|
|
return self.http_get(self.http().normalize_uri(url))
|
|
|
|
def get_manga_name(self) -> str:
|
|
return 'tsumino_' + self.re.search(r'/(?:Info|View)/(\d+)', self.get_url()).group(1)
|
|
|
|
def get_chapters(self):
|
|
return [b'']
|
|
|
|
def prepare_cookies(self):
|
|
self._base_cookies()
|
|
|
|
def get_files(self):
|
|
idx = self.re.search(r'/(?:Info|View)/(\d+)', self.get_url()).group(1)
|
|
test_url = '{}/Read/View{}'.format(self.domain, idx)
|
|
if ~self.http_get(test_url).find('/recaptcha'):
|
|
cookies = tsumino_com.TsuminoCom(self).get_cookies(test_url).get_dict()
|
|
for i in cookies:
|
|
self._storage['cookies'][i] = cookies[i]
|
|
|
|
content = self.http_post(
|
|
'{}/Read/Load'.format(self.domain, idx),
|
|
headers={
|
|
'X-Requested-With': 'XMLHttpRequest',
|
|
'Referer': '{}/Read/View/{}'.format(self.domain, idx),
|
|
'Pragma': 'no-cache',
|
|
'Cache-Control': 'no-cache',
|
|
'Accept-Language': 'en-US;q=0.8,en;q=0.7',
|
|
},
|
|
data={'q': idx}
|
|
)
|
|
items = self.json.loads(content).get('reader_page_urls')
|
|
d = str(self.domain)
|
|
return [d + '/Image/Object?name=' + i for i in items]
|
|
|
|
def get_cover(self) -> str:
|
|
return self._cover_from_content('img.book-page-image')
|
|
|
|
def book_meta(self) -> dict:
|
|
# todo meta
|
|
pass
|
|
|
|
def chapter_for_json(self):
|
|
return self.get_url()
|
|
|
|
|
|
main = TsuminoCom
|