- Paramount in adesso in onda
- StreamingCommunity come server
This commit is contained in:
39
servers/streamingcommunity_server.py
Normal file
39
servers/streamingcommunity_server.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import requests, sys
|
||||
from core import httptools, support
|
||||
from platformcode import config, logger
|
||||
|
||||
if sys.version_info[0] >= 3: from concurrent import futures
|
||||
else: from concurrent_py2 import futures
|
||||
|
||||
headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14',
|
||||
'content-type': 'application/json;charset=UTF-8',
|
||||
'Referer': 'https://streamingcommunity.net'}
|
||||
|
||||
def test_video_exists(page_url):
|
||||
global data
|
||||
logger.debug('page url=', page_url)
|
||||
response = httptools.downloadpage(page_url, headers=headers)
|
||||
|
||||
if response.code == 404:
|
||||
return False, config.get_localized_string(70449) % 'StreamingCommunity'
|
||||
else:
|
||||
data = response.data
|
||||
return True, ""
|
||||
|
||||
|
||||
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
||||
logger.debug("url=" + page_url)
|
||||
video_urls = []
|
||||
url = support.match(data.replace('"','"').replace('\\',''), patron=r'video_url"\s*:\s*"([^"]+)"').match
|
||||
def videourls(res):
|
||||
newurl = '{}/{}'.format(url, res)
|
||||
if requests.head(newurl, headers=headers).status_code == 200:
|
||||
video_urls.append(["m3u8 {} [StreamingCommunity]".format(res), newurl])
|
||||
|
||||
with futures.ThreadPoolExecutor() as executor:
|
||||
for res in ['480p', '720p', '1080p']:
|
||||
executor.submit(videourls, res)
|
||||
if not video_urls: video_urls = [["m3u8 [StreamingCommunity]", url]]
|
||||
else: video_urls.sort(key=lambda url: int(support.match(url[0], patron=r'(\d+)p').match))
|
||||
return video_urls
|
||||
Reference in New Issue
Block a user