smooth-dl.git
8 years agoAdd a playready_experiment.py to play with ProtectionHeader master
Antonio Ospite [Fri, 15 Jan 2016 21:24:20 +0000 (22:24 +0100)]
Add a playready_experiment.py to play with ProtectionHeader

Just a script to explore the format of the ProtectionHeader element.

8 years agosmooth-dl.py: update to python3
Antonio Ospite [Fri, 15 Jan 2016 20:53:05 +0000 (21:53 +0100)]
smooth-dl.py: update to python3

8 years agosmooth-dl.py: update copyright year and contact
Antonio Ospite [Fri, 15 Jan 2016 20:52:42 +0000 (21:52 +0100)]
smooth-dl.py: update copyright year and contact

8 years agosmooth-dl.py: add anewline in an error message
Antonio Ospite [Fri, 15 Jan 2016 19:36:47 +0000 (20:36 +0100)]
smooth-dl.py: add anewline in an error message

8 years agosmooth-dl.py: support downloading from a local file in download_file()
Antonio Ospite [Fri, 15 Jan 2016 19:35:12 +0000 (20:35 +0100)]
smooth-dl.py: support downloading from a local file in download_file()

8 years agosmooth-dl.py: improve getting the manifest of Clip elements
Antonio Ospite [Fri, 15 Jan 2016 19:21:52 +0000 (20:21 +0100)]
smooth-dl.py: improve getting the manifest of Clip elements

8 years agosmooth-dl.py: support using a local path for the Manifest file
Antonio Ospite [Fri, 15 Jan 2016 19:15:40 +0000 (20:15 +0100)]
smooth-dl.py: support using a local path for the Manifest file

8 years agosmooth-dl.py: only create dest_dir once
Antonio Ospite [Fri, 15 Jan 2016 19:08:27 +0000 (20:08 +0100)]
smooth-dl.py: only create dest_dir once

8 years agosmooth-dl.py: fix documentation for get_manifest()
Antonio Ospite [Fri, 15 Jan 2016 19:03:38 +0000 (20:03 +0100)]
smooth-dl.py: fix documentation for get_manifest()

8 years agosmooth-dl.py: add support for downloading chunks with the 'd' attribute
Antonio Ospite [Fri, 15 Jan 2016 10:29:05 +0000 (11:29 +0100)]
smooth-dl.py: add support for downloading chunks with the 'd' attribute

8 years agosmooth-dl.py: fix some pylint issues
Antonio Ospite [Fri, 15 Jan 2016 09:23:31 +0000 (10:23 +0100)]
smooth-dl.py: fix some pylint issues

  C: 59, 0: Unnecessary parens after 'assert' keyword (superfluous-parens)
  W: 67, 0: Bad indentation. Found 12 spaces, expected 8 (bad-indentation)
  C:232, 0: Exactly one space required after comma
          chunk_file = os.path.join(dest_dir,  chunks_quality, chunk_name)
                                            ^ (bad-whitespace)
  W:341, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:342, 0: Bad indentation. Found 12 spaces, expected 8 (bad-indentation)
  W:344, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:345, 0: Bad indentation. Found 12 spaces, expected 8 (bad-indentation)
  W:347, 0: Bad indentation. Found 12 spaces, expected 8 (bad-indentation)
  W:350, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:351, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:353, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:355, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:360, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:365, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  W:370, 0: Bad indentation. Found 8 spaces, expected 4 (bad-indentation)
  C:396, 0: Exactly one space required after comma
      parser.add_option("-v", "--video-stream",  metavar="<n>",
                                              ^ (bad-whitespace)
  C: 43, 0: Invalid constant name "__description" (invalid-name)
  C: 44, 0: Invalid constant name "__version" (invalid-name)
  C: 45, 0: Invalid constant name "__author_info" (invalid-name)
  W:100,32: Unused variable 'e' (unused-variable)
  W:112,17: Redefining name 'url' from outer scope (line 421) (redefined-outer-name)
  W:130, 4: Redefining name 'manifest' from outer scope (line 422) (redefined-outer-name)
  C:115, 7: Comparison to False should be 'not expr' or 'expr is False' (singleton-comparison)
  W:150,24: Redefining name 'manifest' from outer scope (line 422) (redefined-outer-name)
  W:156, 8: Redefining name 'url' from outer scope (line 421) (redefined-outer-name)
  W:156, 8: Unused variable 'url' (unused-variable)
  W:194, 4: Redefining name 'url' from outer scope (line 421) (redefined-outer-name)
  W:205, 4: Redefining name 'url' from outer scope (line 421) (redefined-outer-name)
  W:211,30: Redefining name 'manifest' from outer scope (line 422) (redefined-outer-name)
  C:213, 7: Comparison to False should be 'not expr' or 'expr is False' (singleton-comparison)
  C:221, 7: Comparison to False should be 'not expr' or 'expr is False' (singleton-comparison)
  C:234,11: Comparison to False should be 'not expr' or 'expr is False' (singleton-comparison)
  W:248,19: Redefining name 'manifest' from outer scope (line 422) (redefined-outer-name)
  W:306,22: Redefining name 'manifest' from outer scope (line 422) (redefined-outer-name)
  W:328,22: Redefining name 'manifest' from outer scope (line 422) (redefined-outer-name)
  W:335,20: Redefining name 'url' from outer scope (line 421) (redefined-outer-name)
  W:335,25: Redefining name 'manifest' from outer scope (line 422) (redefined-outer-name)
  W:376, 4: Redefining name 'parser' from outer scope (line 414) (redefined-outer-name)
  C:414, 4: Invalid constant name "parser" (invalid-name)
  C:415, 5: Invalid constant name "options" (invalid-name)
  C:415,14: Invalid constant name "args" (invalid-name)
  C:421, 4: Invalid constant name "url" (invalid-name)
  C:422, 4: Invalid constant name "manifest" (invalid-name)
  C:422,14: Invalid constant name "url" (invalid-name)

8 years agosmooth-dl.py: fix some pep8 issue
Antonio Ospite [Fri, 15 Jan 2016 09:06:34 +0000 (10:06 +0100)]
smooth-dl.py: fix some pep8 issue

  smooth-dl.py:38:1: E402 module level import not at top of file
  smooth-dl.py:39:1: E402 module level import not at top of file
  smooth-dl.py:40:1: E402 module level import not at top of file
  smooth-dl.py:41:1: E402 module level import not at top of file
  smooth-dl.py:42:1: E402 module level import not at top of file
  smooth-dl.py:43:1: E402 module level import not at top of file
  smooth-dl.py:44:1: E402 module level import not at top of file
  smooth-dl.py:45:1: E402 module level import not at top of file
  smooth-dl.py:46:1: E402 module level import not at top of file
  smooth-dl.py:57:5: E265 block comment should start with '# '
  smooth-dl.py:96:1: E302 expected 2 blank lines, found 1
  smooth-dl.py:111:1: E302 expected 2 blank lines, found 1
  smooth-dl.py:173:25: E128 continuation line under-indented for visual indent
  smooth-dl.py:195:80: E501 line too long (84 > 79 characters)
  smooth-dl.py:246:9: E128 continuation line under-indented for visual indent
  smooth-dl.py:248:24: E711 comparison to None should be 'if cond is None:'
  smooth-dl.py:320:13: E127 continuation line over-indented for visual indent
  smooth-dl.py:333:9: E128 continuation line under-indented for visual indent
  smooth-dl.py:334:9: E128 continuation line under-indented for visual indent
  smooth-dl.py:335:9: E128 continuation line under-indented for visual indent
  smooth-dl.py:336:9: E128 continuation line under-indented for visual indent
  smooth-dl.py:338:23: E711 comparison to None should be 'if cond is None:'
  smooth-dl.py:343:21: E128 continuation line under-indented for visual indent
  smooth-dl.py:345:21: E128 continuation line under-indented for visual indent
  smooth-dl.py:351:17: E128 continuation line under-indented for visual indent
  smooth-dl.py:353:17: E128 continuation line under-indented for visual indent
  smooth-dl.py:355:9: E265 block comment should start with '# '
  smooth-dl.py:358:17: E128 continuation line under-indented for visual indent
  smooth-dl.py:363:23: E128 continuation line under-indented for visual indent
  smooth-dl.py:364:23: E128 continuation line under-indented for visual indent
  smooth-dl.py:374:13: E128 continuation line under-indented for visual indent
  smooth-dl.py:426:17: E128 continuation line under-indented for visual indent
  smooth-dl.py:427:17: E128 continuation line under-indented for visual indent
  smooth-dl.py:437:13: E128 continuation line under-indented for visual indent
  smooth-dl.py:438:13: E128 continuation line under-indented for visual indent
  smooth-dl.py:439:13: E128 continuation line under-indented for visual indent

8 years agosmmoth-dl.py: if there is a Clip element use its manifest
Antonio Ospite [Thu, 14 Jan 2016 17:13:05 +0000 (18:13 +0100)]
smmoth-dl.py: if there is a Clip element use its manifest

8 years agosmooth-dl.py: use more specific exception when looking for the Clip element
Antonio Ospite [Thu, 14 Jan 2016 17:12:18 +0000 (18:12 +0100)]
smooth-dl.py: use more specific exception when looking for the Clip element

8 years agosmooth-dl.py: factor out a download_file() function
Antonio Ospite [Thu, 14 Jan 2016 17:11:39 +0000 (18:11 +0100)]
smooth-dl.py: factor out a download_file() function

8 years agoDifferentiate better between url, manifest_url and base_url
Antonio Ospite [Tue, 4 Mar 2014 11:26:47 +0000 (12:26 +0100)]
Differentiate better between url, manifest_url and base_url

10 years agoPrint more details when downloading a chunk fails
Antonio Ospite [Tue, 4 Mar 2014 11:24:32 +0000 (12:24 +0100)]
Print more details when downloading a chunk fails

10 years agoSimplify get_manifest() signature
Antonio Ospite [Sat, 19 Oct 2013 10:20:22 +0000 (12:20 +0200)]
Simplify get_manifest() signature

The manifest_file argument is never used, downloading to 'Manifest' is
just fine.

12 years agosmooth-dl: factor out some common code
Antonio Ospite [Fri, 23 Mar 2012 15:32:01 +0000 (16:32 +0100)]
smooth-dl: factor out some common code

get_chunk_quality_string() and get_chunk_name_string() abstract some
code used in multiple places.

12 years agosmooth-dl: handle CustomAttributes in stream quality
Antonio Ospite [Fri, 23 Mar 2012 13:44:16 +0000 (14:44 +0100)]
smooth-dl: handle CustomAttributes in stream quality

Some manifest files can have CustomAttributes elements in the
QualityLevel settings, handle these. For instance on RaiReplay streams
there is a systemLanguage attribute to tell what language the audio
stream is in.

12 years agosmooth-dl: fix a FutureWarning from python 2.7
Antonio Ospite [Fri, 23 Mar 2012 13:42:27 +0000 (14:42 +0100)]
smooth-dl: fix a FutureWarning from python 2.7

./smooth-dl.py:137: FutureWarning: This search is broken in 1.3 and earlier, and will be fixed in a future version.  If you rely on the current behaviour, change it to './/StreamIndex'

12 years agoREADME: mention the "Direct Download Links" Greasemonkey script
Antonio Ospite [Fri, 23 Mar 2012 13:38:48 +0000 (14:38 +0100)]
README: mention the "Direct Download Links" Greasemonkey script

Using "Direct Download Links" is the easiest way to retrieve the
manifest file.

13 years agoInitial version.
Antonio Ospite [Mon, 29 Nov 2010 13:24:20 +0000 (14:24 +0100)]
Initial version.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>