From c2afb28bcc1a81d256a5c115114be77ada0ac1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rog=C3=A9rio=20Brito?= Date: Mon, 14 Jan 2013 00:38:12 -0200 Subject: [PATCH] (Dirtily) Rewrite the ability to use aria2c. --- youtube-dl | Bin 3447 -> 59027 bytes youtube_dl/FileDownloader.py | 55 +++++++++++++++++++++++++++++++++++ youtube_dl/__init__.py | 1 + 3 files changed, 56 insertions(+) diff --git a/youtube-dl b/youtube-dl index e6f05c17327ed58f8db66e6dc7d2a38380355d61..71a58a1d8958bf3af5fc893fc33b763c405add91 100755 GIT binary patch literal 59027 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 literal 3447 zcmbVOdvDt|5dVAr6qgpAq}5eK$&%#&DbS%Q)@^8tq+Ky2fk8qkP9-o{xN}eW#I7RUp>b+i9VlpWt%Pb>@Oy`OR?7Qy47(ZWhKwxF}!V6ga5Te z|6x&+40Di*FF&I!^1Z!5rT7Y`po*2?x{*siG3gLgZCTU<^s@U9YK)N)E?VH{KnbpM!q}63H+DyOz&TVyWW2AKp(R%Am!6e9j^z);ml){hT?Owg={WT7ZvK}zlKJxGxlql>` zmE*uqlsM~l=XsU`PtDqL+>cdpOw@*;$PbEcyfgm}PR<8bVy8@vNqogArC-HuH1ozk z>q0>yMWqKJq`wdc9sgO{D3{`v;m#i2ah|d-6&)y*=2EL|q1PRG;N9*5Mj!opFX@Zu zTios<+Q+n>#l}V2hx8lJH>1z*&OCEw_~^{1DE{|2u*Jc?(KZv-?&*z{?qvSick}@BtxRbFsn(9{{%2!&Qy=1>WQO(hX@u|fA%(Chq$%6IER!L}$%qA&M^n01YU z)+xGhO=wAHwIrwl6dI+`va0BsE-NYbkXLlJCLOYBk`hlIQuE5-nX%iz@(Oj!L{QFU zLGP_YG_C8i(^I($+!f`zNnFC@(}SOAL%vF`mv4H;BPmb8`kf?RzgzYs*5udg2MBwNR<7x8R&UGo^6L7< z^0$jW$spU?Ewac%oMmwydtt!*JWE)}BR`Ml$s$a$C}MM3u`FlvXdZ`EJ7Z80YetDERKS7vGC^@ zc(ZUGC28zM3!i?_Tg>7`l&3jkNfhM)`U~`C81Om61!pV_WBTVQau&}#j%hH@(||aV zC?N~em~ocQ*ldPgkYp_N7|Ss7G04gIc@p^Z%!_A!l;a|pLKKF<+@Zms1FVX&m!?#~ z_K;IEC%7M$m%sHL&?Fdlg|@AWtE7U3#5bo2mxhaqUY9*2*r5T0XSU;J*tO9{=g;E4i{2M$a_*Y)SN0cILrHhNY4oKT zoJqO3wKP#vt{V-Wz8*kS$=xJ@fUd7(*y5!9DwI~=t8 zw5${!K-7MH*<$DvF0b2#W5!=Jg@g3{c+I8x7#SMN|TlgB43N7I+Q8j4cF=V%Yr=w z-i#;EzU~1ZreJLonv*Cb)T{GOuNeW&u5bBAz6_n|{|B`qUpw4N8!1g1kHY$m*8h?w VgcEqv4HG~(0kRQCgGDzp`~&H2U`7A{ diff --git a/youtube_dl/FileDownloader.py b/youtube_dl/FileDownloader.py index e3131bbe6..a00a2b3b2 100644 --- a/youtube_dl/FileDownloader.py +++ b/youtube_dl/FileDownloader.py @@ -609,6 +609,59 @@ class FileDownloader(object): self.trouble(u'\nERROR: rtmpdump exited with code %d' % retval) return False + # Keep a copy of the main cookiejar to pass to external downloaders + # + # This seems like a stupid way of copying a cookie, but if Alex + # Martelli says so... + # http://stackoverflow.com/a/1023235/962311 + def _keep_cookie_jar(self): + from youtube_dl import jar + import tempfile + + new_filedesc, new_filename = tempfile.mkstemp() + new_jar = compat_cookiejar.MozillaCookieJar(new_filename) + + for c in jar: + new_jar.set_cookie(c) + + new_jar.save(new_filename) + + return new_filename + + def _download_with_aria2c(self, filename, url): + self.report_destination(filename) + + # Check for aria2c first + try: + subprocess.call(['aria2c', '-h'], + stdout=(file(os.path.devnull, 'w')), + stderr=subprocess.STDOUT) + except (OSError, IOError): + self.trouble(u'ERROR: external program requested, but "aria2c" could not be run') + return False + + tmp_jar_name = self._keep_cookie_jar() + + basic_args = ['aria2c', '-c'] + basic_args += ['--min-split-size', '1M'] + basic_args += ['--max-connection-per-server', '4'] + basic_args += ['--user-agent', std_headers['User-Agent']] + basic_args += ['--load-cookies=' + tmp_jar_name ] + basic_args += ['-o', filename, url] + + retval = subprocess.call(basic_args) + + # The cookie jar is not necessary anymore + os.unlink(tmp_jar_name) + + + if retval == 0: + self.to_screen(u'\r[aria2c] %s bytes' % os.path.getsize(filename)) + return True + else: + self.trouble(u'\nERROR: aria2c exited with code %d' % retval) + return False + def _do_download(self, filename, info_dict): url = info_dict['url'] @@ -630,6 +683,8 @@ class FileDownloader(object): tmpfilename = self.temp_name(filename) stream = None + return self._download_with_aria2c(filename, url) + # Do not include the Accept-Encoding header headers = {'Youtubedl-no-compression': 'True'} if 'user_agent' in info_dict: diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index c80593686..86be14b1e 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -283,6 +283,7 @@ jar = None def _real_main(): parser, opts, args = parseOpts() + global jar # Open appropriate CookieJar if opts.cookiefile is None: jar = compat_cookiejar.CookieJar()