]> gitweb @ CieloNegro.org - youtube-dl.git/blobdiff - youtube-dl
Minor improvements and changes
[youtube-dl.git] / youtube-dl
index 6a79bf93a2a520ed2cf6418e42b2200918577ed9..607109bb26f7db3442ec10133f00f536e40830c0 100755 (executable)
@@ -55,6 +55,8 @@ class FileDownloader(object):
        password:       Password for authentication purposes.
        usenetrc:       Use netrc for authentication instead.
        quiet:          Do not print messages to stdout.
+       forceurl:       Force printing final URL.
+       forcetitle:     Force printing title.
        simulate:       Do not download the video files.
        format:         Video format code.
        outtmpl:        Template for output names.
@@ -174,10 +176,18 @@ class FileDownloader(object):
                                if len(results) > 1 and self.fixed_template():
                                        sys.exit('ERROR: fixed output name but more than one file to download')
 
-                               if self._params.get('simulate', False):
-                                       continue
-
                                for result in results:
+
+                                       # Forced printings
+                                       if self._params.get('forcetitle', False):
+                                               print result['title']
+                                       if self._params.get('forceurl', False):
+                                               print result['url']
+                                               
+                                       # Do nothing else if in simulate mode
+                                       if self._params.get('simulate', False):
+                                               continue
+
                                        try:
                                                filename = self._params['outtmpl'] % result
                                        except (ValueError, KeyError), err:
@@ -382,7 +392,7 @@ class YoutubeIE(InfoExtractor):
                        format_param = params.get('format', None)
 
                # Extension
-               video_extension = {18: 'mp4'}.get(format_param, 'flv')
+               video_extension = {'18': 'mp4'}.get(format_param, 'flv')
 
                # Normalize URL, including format
                normalized_url = 'http://www.youtube.com/watch?v=%s' % video_id
@@ -437,9 +447,15 @@ class YoutubeIE(InfoExtractor):
 
 if __name__ == '__main__':
        try:
+               # Modules needed only when running the main program
+               import optparse
+
                # General configuration
                urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()))
                urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor()))
+               socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
+
+               # Parse command line
 
                # Information extractors
                youtube_ie = YoutubeIE()
@@ -449,10 +465,12 @@ if __name__ == '__main__':
                        'usenetrc': False,
                        'username': None,
                        'password': None,
-                       'quiet': False,
-                       'simulate': False,
+                       'quiet': True,
+                       'forceurl': True,
+                       'forcetitle': True,
+                       'simulate': True,
                        'format': None,
-                       'outtmpl': '%(ext)s/%(ext)s/%(id)s.%(ext)s'
+                       'outtmpl': '%(id)s.%(ext)s'
                        })
                fd.add_info_extractor(youtube_ie)
                fd.download([