|
@@ -5,9 +5,11 @@ import json
|
|
|
import os.path
|
|
|
import re
|
|
|
import types
|
|
|
+import sys
|
|
|
|
|
|
import youtube_dl.extractor
|
|
|
from youtube_dl import YoutubeDL
|
|
|
+from youtube_dl.utils import preferredencoding
|
|
|
|
|
|
|
|
|
def global_setup():
|
|
@@ -33,6 +35,21 @@ def try_rm(filename):
|
|
|
raise
|
|
|
|
|
|
|
|
|
+def report_warning(message):
|
|
|
+ '''
|
|
|
+ Print the message to stderr, it will be prefixed with 'WARNING:'
|
|
|
+ If stderr is a tty file the 'WARNING:' will be colored
|
|
|
+ '''
|
|
|
+ if sys.stderr.isatty() and os.name != 'nt':
|
|
|
+ _msg_header = u'\033[0;33mWARNING:\033[0m'
|
|
|
+ else:
|
|
|
+ _msg_header = u'WARNING:'
|
|
|
+ output = u'%s %s\n' % (_msg_header, message)
|
|
|
+ if 'b' in getattr(sys.stderr, 'mode', '') or sys.version_info[0] < 3:
|
|
|
+ output = output.encode(preferredencoding())
|
|
|
+ sys.stderr.write(output)
|
|
|
+
|
|
|
+
|
|
|
class FakeYDL(YoutubeDL):
|
|
|
def __init__(self, override=None):
|
|
|
# Different instances of the downloader can't share the same dictionary
|