]> gitweb @ CieloNegro.org - youtube-dl.git/blobdiff - youtube-dl
Add forceurl and forcetitle downloader options
[youtube-dl.git] / youtube-dl
index 914cce37bcc24e76960f66dfb35b04903ce304a9..cc2ba4262aa337bfe87ea936ccdb0e70531932b9 100755 (executable)
@@ -17,7 +17,7 @@ import urllib
 import urllib2
 
 std_headers = {        
-       'User-Agent': 'UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0',
+       'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1',
        'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
        'Accept': 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
        'Accept-Language': 'en-us,en;q=0.5',
@@ -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:
@@ -450,6 +460,8 @@ if __name__ == '__main__':
                        'username': None,
                        'password': None,
                        'quiet': False,
+                       'forceurl': False,
+                       'forcetitle': False,
                        'simulate': False,
                        'format': None,
                        'outtmpl': '%(ext)s/%(ext)s/%(id)s.%(ext)s'