mirror of
https://github.com/ytdl-org/youtube-dl
synced 2025-02-04 01:30:12 +09:00
Compare commits
No commits in common. "c3399cac19a51897024545fb267f7579ea42318b" and "8a3797a4abdc0b63b6fcbd1fbc9d81acc57ec142" have entirely different histories.
c3399cac19
...
8a3797a4ab
26
.github/workflows/ci.yml
vendored
26
.github/workflows/ci.yml
vendored
@ -10,52 +10,28 @@ jobs:
|
|||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
# TODO: python 2.6
|
# TODO: python 2.6
|
||||||
python-version: [2.7, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, pypy-2.7, pypy-3.6, pypy-3.7]
|
python-version: [2.7, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, pypy-2.7, pypy-3.6, pypy-3.7]
|
||||||
python-impl: [cpython]
|
|
||||||
ytdl-test-set: [core, download]
|
ytdl-test-set: [core, download]
|
||||||
run-tests-ext: [sh]
|
run-tests-ext: [sh]
|
||||||
include:
|
include:
|
||||||
# python 3.2 is only available on windows via setup-python
|
# python 3.2 is only available on windows via setup-python
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
python-version: 3.2
|
python-version: 3.2
|
||||||
python-impl: cpython
|
|
||||||
ytdl-test-set: core
|
ytdl-test-set: core
|
||||||
run-tests-ext: bat
|
run-tests-ext: bat
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
python-version: 3.2
|
python-version: 3.2
|
||||||
python-impl: cpython
|
|
||||||
ytdl-test-set: download
|
ytdl-test-set: download
|
||||||
run-tests-ext: bat
|
run-tests-ext: bat
|
||||||
# jython
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-impl: jython
|
|
||||||
ytdl-test-set: core
|
|
||||||
run-tests-ext: sh
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-impl: jython
|
|
||||||
ytdl-test-set: download
|
|
||||||
run-tests-ext: sh
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
if: ${{ matrix.python-impl == 'cpython' }}
|
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
- name: Set up Java 8
|
|
||||||
if: ${{ matrix.python-impl == 'jython' }}
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 8
|
|
||||||
- name: Install Jython
|
|
||||||
if: ${{ matrix.python-impl == 'jython' }}
|
|
||||||
run: |
|
|
||||||
wget http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7.1/jython-installer-2.7.1.jar -O jython-installer.jar
|
|
||||||
java -jar jython-installer.jar -s -d "$HOME/jython"
|
|
||||||
echo "$HOME/jython/bin" >> $GITHUB_PATH
|
|
||||||
- name: Install nose
|
- name: Install nose
|
||||||
run: pip install nose
|
run: pip install nose
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
continue-on-error: ${{ matrix.ytdl-test-set == 'download' || matrix.python-impl == 'jython' }}
|
continue-on-error: ${{ matrix.ytdl-test-set == 'download' }}
|
||||||
env:
|
env:
|
||||||
YTDL_TEST_SET: ${{ matrix.ytdl-test-set }}
|
YTDL_TEST_SET: ${{ matrix.ytdl-test-set }}
|
||||||
run: ./devscripts/run_tests.${{ matrix.run-tests-ext }}
|
run: ./devscripts/run_tests.${{ matrix.run-tests-ext }}
|
||||||
|
50
.travis.yml
Normal file
50
.travis.yml
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
language: python
|
||||||
|
python:
|
||||||
|
- "2.6"
|
||||||
|
- "2.7"
|
||||||
|
- "3.2"
|
||||||
|
- "3.3"
|
||||||
|
- "3.4"
|
||||||
|
- "3.5"
|
||||||
|
- "3.6"
|
||||||
|
- "pypy"
|
||||||
|
- "pypy3"
|
||||||
|
dist: trusty
|
||||||
|
env:
|
||||||
|
- YTDL_TEST_SET=core
|
||||||
|
# - YTDL_TEST_SET=download
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- python: 3.7
|
||||||
|
dist: xenial
|
||||||
|
env: YTDL_TEST_SET=core
|
||||||
|
# - python: 3.7
|
||||||
|
# dist: xenial
|
||||||
|
# env: YTDL_TEST_SET=download
|
||||||
|
- python: 3.8
|
||||||
|
dist: xenial
|
||||||
|
env: YTDL_TEST_SET=core
|
||||||
|
# - python: 3.8
|
||||||
|
# dist: xenial
|
||||||
|
# env: YTDL_TEST_SET=download
|
||||||
|
- python: 3.8-dev
|
||||||
|
dist: xenial
|
||||||
|
env: YTDL_TEST_SET=core
|
||||||
|
# - python: 3.8-dev
|
||||||
|
# dist: xenial
|
||||||
|
# env: YTDL_TEST_SET=download
|
||||||
|
- env: JYTHON=true; YTDL_TEST_SET=core
|
||||||
|
# - env: JYTHON=true; YTDL_TEST_SET=download
|
||||||
|
- name: flake8
|
||||||
|
python: 3.8
|
||||||
|
dist: xenial
|
||||||
|
install: pip install flake8
|
||||||
|
script: flake8 .
|
||||||
|
fast_finish: true
|
||||||
|
allow_failures:
|
||||||
|
# - env: YTDL_TEST_SET=download
|
||||||
|
- env: JYTHON=true; YTDL_TEST_SET=core
|
||||||
|
# - env: JYTHON=true; YTDL_TEST_SET=download
|
||||||
|
before_install:
|
||||||
|
- if [ "$JYTHON" == "true" ]; then ./devscripts/install_jython.sh; export PATH="$HOME/jython/bin:$PATH"; fi
|
||||||
|
script: ./devscripts/run_tests.sh
|
5
devscripts/install_jython.sh
Executable file
5
devscripts/install_jython.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
wget http://central.maven.org/maven2/org/python/jython-installer/2.7.1/jython-installer-2.7.1.jar
|
||||||
|
java -jar jython-installer-2.7.1.jar -s -d "$HOME/jython"
|
||||||
|
$HOME/jython/bin/jython -m pip install nose
|
@ -172,12 +172,8 @@ class HlsFD(FragmentFD):
|
|||||||
iv = decrypt_info.get('IV') or compat_struct_pack('>8xq', media_sequence)
|
iv = decrypt_info.get('IV') or compat_struct_pack('>8xq', media_sequence)
|
||||||
decrypt_info['KEY'] = decrypt_info.get('KEY') or self.ydl.urlopen(
|
decrypt_info['KEY'] = decrypt_info.get('KEY') or self.ydl.urlopen(
|
||||||
self._prepare_url(info_dict, info_dict.get('_decryption_key_url') or decrypt_info['URI'])).read()
|
self._prepare_url(info_dict, info_dict.get('_decryption_key_url') or decrypt_info['URI'])).read()
|
||||||
# Don't decrypt the content in tests since the data is explicitly truncated and it's not to a valid block
|
frag_content = AES.new(
|
||||||
# size (see https://github.com/ytdl-org/youtube-dl/pull/27660). Tests only care that the correct data downloaded,
|
decrypt_info['KEY'], AES.MODE_CBC, iv).decrypt(frag_content)
|
||||||
# not what it decrypts to.
|
|
||||||
if not test:
|
|
||||||
frag_content = AES.new(
|
|
||||||
decrypt_info['KEY'], AES.MODE_CBC, iv).decrypt(frag_content)
|
|
||||||
self._append_fragment(ctx, frag_content)
|
self._append_fragment(ctx, frag_content)
|
||||||
# We only download the first fragment during the test
|
# We only download the first fragment during the test
|
||||||
if test:
|
if test:
|
||||||
|
@ -35,7 +35,7 @@ class IHeartRadioIE(IHeartRadioBaseIE):
|
|||||||
'id': '70346499',
|
'id': '70346499',
|
||||||
'ext': 'mp3',
|
'ext': 'mp3',
|
||||||
'title': 'Part One: Alexander Lukashenko: The Dictator of Belarus',
|
'title': 'Part One: Alexander Lukashenko: The Dictator of Belarus',
|
||||||
'description': 'md5:96cc7297b3a5a9ebae28643801c96fae',
|
'description': 'md5:66480b2d25ec93a5f60c0faa3275ce5c',
|
||||||
'timestamp': 1597741200,
|
'timestamp': 1597741200,
|
||||||
'upload_date': '20200818',
|
'upload_date': '20200818',
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user