Merge branch 'master' into rtmpdump
[youtube-dl] / youtube_dl / YoutubeDL.py
index 6e5ae44d35920b09d2290bd4f97695060e333397..20eed96caf6dbb824973a1ba7566d5131a5f4334 100644 (file)
@@ -211,7 +211,26 @@ class YoutubeDL(object):
             # already of type unicode()
             ctypes.windll.kernel32.SetConsoleTitleW(ctypes.c_wchar_p(message))
         elif 'TERM' in os.environ:
-            self.to_screen('\033]0;%s\007' % message, skip_eol=True)
+            write_string(u'\033]0;%s\007' % message, self._screen_file)
+
+    def save_console_title(self):
+        if not self.params.get('consoletitle', False):
+            return
+        if 'TERM' in os.environ:
+            write_string(u'\033[22t', self._screen_file)
+
+    def restore_console_title(self):
+        if not self.params.get('consoletitle', False):
+            return
+        if 'TERM' in os.environ:
+            write_string(u'\033[23t', self._screen_file)
+
+    def __enter__(self):
+        self.save_console_title()
+        return self
+
+    def __exit__(self, *args):
+        self.restore_console_title()
 
     def fixed_template(self):
         """Checks if the output template is fixed."""