mirror of
https://github.com/spaam/svtplay-dl.git
synced 2024-11-27 21:54:17 +01:00
Move automagic filename thing to output.py
This commit is contained in:
parent
07038caa2a
commit
5c135d24a4
@ -2,11 +2,9 @@
|
||||
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
from __future__ import absolute_import
|
||||
import sys
|
||||
import re
|
||||
import os
|
||||
import logging
|
||||
import copy
|
||||
import platform
|
||||
from optparse import OptionParser
|
||||
|
||||
from svtplay_dl.error import UIException
|
||||
@ -16,6 +14,7 @@ from svtplay_dl.utils.urllib import URLError
|
||||
from svtplay_dl.service import service_handler, Generic
|
||||
from svtplay_dl.fetcher import VideoRetriever
|
||||
from svtplay_dl.subtitle import subtitle
|
||||
from svtplay_dl.output import filename
|
||||
|
||||
from svtplay_dl.service.aftonbladet import Aftonbladet
|
||||
from svtplay_dl.service.bambuser import Bambuser
|
||||
@ -178,34 +177,9 @@ def get_media(url, options):
|
||||
sys.exit(2)
|
||||
|
||||
def get_one_media(stream, options):
|
||||
if options.output:
|
||||
if is_py2:
|
||||
if platform.system() == "Windows":
|
||||
options.output = options.output.decode("lain1")
|
||||
else:
|
||||
options.output = options.output.decode("utf-8")
|
||||
options.output = options.output.replace('"', '').replace("'", "").rstrip('\\')
|
||||
if not options.output or os.path.isdir(options.output):
|
||||
error, data = stream.get_urldata()
|
||||
if error:
|
||||
log.error("Cant find that page")
|
||||
return
|
||||
if data is None:
|
||||
return
|
||||
match = re.search(r"(?i)<title[^>]*>\s*(.*?)\s*</title>", data, re.S)
|
||||
if match:
|
||||
options.output_auto = True
|
||||
title_tag = decode_html_entities(match.group(1))
|
||||
if not options.output:
|
||||
options.output = filenamify(title_tag)
|
||||
else:
|
||||
# output is a directory
|
||||
options.output = os.path.join(options.output, filenamify(title_tag))
|
||||
|
||||
if platform.system() == "Windows":
|
||||
# ugly hack. replace \ with / or add extra \ because c:\test\kalle.flv will add c:_tab_est\kalle.flv
|
||||
if options.output and options.output.find("\\") > 0:
|
||||
options.output = options.output.replace("\\", "/")
|
||||
# Make an automagic filename
|
||||
if not filename(options, stream):
|
||||
return
|
||||
|
||||
videos = []
|
||||
subs = []
|
||||
|
@ -6,9 +6,10 @@ import time
|
||||
import re
|
||||
import os
|
||||
import io
|
||||
import platform
|
||||
from datetime import timedelta
|
||||
|
||||
from svtplay_dl.utils import is_py3
|
||||
from svtplay_dl.utils import is_py3, is_py2, filenamify, decode_html_entities
|
||||
from svtplay_dl.utils.terminal import get_terminal_size
|
||||
from svtplay_dl.log import log
|
||||
|
||||
@ -113,6 +114,37 @@ def progressbar(total, pos, msg=""):
|
||||
|
||||
progress_stream.write(fmt % (pos, total, bar, msg))
|
||||
|
||||
def filename(options, stream):
|
||||
if options.output:
|
||||
if is_py2:
|
||||
if platform.system() == "Windows":
|
||||
options.output = options.output.decode("lain1")
|
||||
else:
|
||||
options.output = options.output.decode("utf-8")
|
||||
options.output = options.output.replace('"', '').replace("'", "").rstrip('\\')
|
||||
if not options.output or os.path.isdir(options.output):
|
||||
error, data = stream.get_urldata()
|
||||
if error:
|
||||
log.error("Cant find that page")
|
||||
return False
|
||||
if data is None:
|
||||
return False
|
||||
match = re.search(r"(?i)<title[^>]*>\s*(.*?)\s*</title>", data, re.S)
|
||||
if match:
|
||||
options.output_auto = True
|
||||
title_tag = decode_html_entities(match.group(1))
|
||||
if not options.output:
|
||||
options.output = filenamify(title_tag)
|
||||
else:
|
||||
# output is a directory
|
||||
options.output = os.path.join(options.output, filenamify(title_tag))
|
||||
|
||||
if platform.system() == "Windows":
|
||||
# ugly hack. replace \ with / or add extra \ because c:\test\kalle.flv will add c:_tab_est\kalle.flv
|
||||
if options.output and options.output.find("\\") > 0:
|
||||
options.output = options.output.replace("\\", "/")
|
||||
return True
|
||||
|
||||
def output(options, extention="mp4", openfd=True):
|
||||
if is_py3:
|
||||
file_d = io.IOBase
|
||||
|
Loading…
Reference in New Issue
Block a user