Compare commits

...

5 Commits

Author SHA1 Message Date
kclauhk
7add4bf0b0
Merge 8647d6e311 into b83ca24eb7 2024-11-10 00:54:43 +01:00
sepro
b83ca24eb7
[core] Catch broken Cryptodome installations (#11486)
Authored by: seproDev
2024-11-10 00:53:49 +01:00
bashonly
240a7d43c8
[build] Pin websockets version to >=13.0,<14 (#11488)
websockets 14.0 causes CI test failures (a lot more of them)

Authored by: bashonly
2024-11-09 23:46:47 +00:00
bashonly
f13df591d4
[build] Enable attestations for trusted publishing (#11420)
Reverts 428ffb75aa

Authored by: bashonly
2024-11-09 23:26:02 +00:00
kclauhk
8647d6e311 [ie/mediasite] Extract presenters' names 2024-10-29 22:46:47 +08:00
7 changed files with 75 additions and 12 deletions

View File

@ -504,7 +504,8 @@ jobs:
- windows32
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifact
pattern: build-bin-*

View File

@ -28,3 +28,20 @@ jobs:
actions: write # For cleaning up cache
id-token: write # mandatory for trusted publishing
secrets: inherit
publish_pypi:
needs: [release]
if: vars.MASTER_PYPI_PROJECT != ''
runs-on: ubuntu-latest
permissions:
id-token: write # mandatory for trusted publishing
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: dist
name: build-pypi
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true

View File

@ -41,3 +41,20 @@ jobs:
actions: write # For cleaning up cache
id-token: write # mandatory for trusted publishing
secrets: inherit
publish_pypi:
needs: [release]
if: vars.NIGHTLY_PYPI_PROJECT != ''
runs-on: ubuntu-latest
permissions:
id-token: write # mandatory for trusted publishing
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: dist
name: build-pypi
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true

View File

@ -2,10 +2,6 @@ name: Release
on:
workflow_call:
inputs:
prerelease:
required: false
default: true
type: boolean
source:
required: false
default: ''
@ -18,6 +14,10 @@ on:
required: false
default: ''
type: string
prerelease:
required: false
default: true
type: boolean
workflow_dispatch:
inputs:
source:
@ -278,11 +278,20 @@ jobs:
make clean-cache
python -m build --no-isolation .
- name: Upload artifacts
if: github.event_name != 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: build-pypi
path: |
dist/*
compression-level: 0
- name: Publish to PyPI
if: github.event_name == 'workflow_dispatch'
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
attestations: false # Currently doesn't work w/ reusable workflows (breaks nightly)
publish:
needs: [prepare, build]

View File

@ -52,7 +52,7 @@ default = [
"pycryptodomex",
"requests>=2.32.2,<3",
"urllib3>=1.26.17,<3",
"websockets>=13.0",
"websockets>=13.0,<14",
]
curl-cffi = [
"curl-cffi==0.5.10; os_name=='nt' and implementation_name=='cpython'",

View File

@ -24,7 +24,7 @@ try:
from Crypto.Cipher import AES, PKCS1_OAEP, Blowfish, PKCS1_v1_5 # noqa: F401
from Crypto.Hash import CMAC, SHA1 # noqa: F401
from Crypto.PublicKey import RSA # noqa: F401
except ImportError:
except (ImportError, OSError):
__version__ = f'broken {__version__}'.strip()

View File

@ -31,6 +31,9 @@ class MediasiteIE(InfoExtractor):
'ext': 'mp4',
'title': 'Lecture: Tuesday, September 20, 2016 - Sir Andrew Wiles',
'description': 'Sir Andrew Wiles: “Equations in arithmetic”\\n\\nI will describe some of the interactions between modern number theory and the problem of solving equations in rational numbers or integers\\u0027.',
'thumbnail': 'https://hitsmediaweb.h-its.org/Mediasite/FileServer/Presentation/2db6c271681e4f199af3c60d1f82869b1d/423e2016-e080-4ca8-a9bc-b50c39b87caa.jpg?playbackTicket=1b6a49d3e6074616af4dae9cf6952967',
'cast': ['Sir Andrew J. Miles, Silver Plaque of the IMU, 1998 | Abel Prize, 2016'],
'duration': 2978.0,
'timestamp': 1474268400.0,
'upload_date': '20160919',
},
@ -44,6 +47,7 @@ class MediasiteIE(InfoExtractor):
'title': '5) IT-forum 2015-Dag 1 - Dungbeetle - How and why Rain created a tiny bug tracker for Unity',
'timestamp': 1430311380.0,
},
'skip': 'no longer exist',
},
{
'url': 'https://collegerama.tudelft.nl/Mediasite/Play/585a43626e544bdd97aeb71a0ec907a01d',
@ -54,10 +58,15 @@ class MediasiteIE(InfoExtractor):
'title': 'Een nieuwe wereld: waarden, bewustzijn en techniek van de mensheid 2.0.',
'description': '',
'thumbnail': r're:^https?://.*\.jpg(?:\?.*)?$',
'cast': ['H. Wijffels'],
'duration': 7713.088,
'timestamp': 1413309600,
'upload_date': '20141014',
},
'params': {
# format 'video1-1.1' HTTP Error 400: Bad Request
'skip_download': True,
},
},
{
'url': 'https://collegerama.tudelft.nl/Mediasite/Play/86a9ea9f53e149079fbdb4202b521ed21d?catalog=fd32fd35-6c99-466c-89d4-cd3c431bc8a4',
@ -68,10 +77,14 @@ class MediasiteIE(InfoExtractor):
'title': '64ste Vakantiecursus: Afvalwater',
'description': 'md5:7fd774865cc69d972f542b157c328305',
'thumbnail': r're:^https?://.*\.jpg(?:\?.*?)?$',
'cast': ['D.J. van den Berg', 'L.C. Rietveld', 'D. van Halem', 'N.C. van de Giesen', 'J.Q.J.C. Verberk'],
'duration': 10853,
'timestamp': 1326446400,
'upload_date': '20120113',
},
'params': {
'skip_download': True,
},
},
{
'url': 'http://digitalops.sandia.gov/Mediasite/Play/24aace4429fc450fb5b38cdbf424a66e1d',
@ -79,11 +92,17 @@ class MediasiteIE(InfoExtractor):
'info_dict': {
'id': '24aace4429fc450fb5b38cdbf424a66e1d',
'ext': 'mp4',
'title': 'Xyce Software Training - Section 1',
'title': 'Xyce Software Training - Section 1 - Apr. 2012',
'description': r're:(?s)SAND Number: SAND 2013-7800.{200,}',
'upload_date': '20120409',
'timestamp': 1333983600,
'thumbnail': 'https://digitalops.sandia.gov/Mediasite/FileServer/Presentation/24aace4429fc450fb5b38cdbf424a66e1d/8590199d-2a48-492c-8614-05c502dea8c0.jpg?playbackTicket=aecb83175ff740daace12a13101c2a7f',
'cast': ['01400 Computation, Computers \\u0026 Math'],
'duration': 7794,
'timestamp': 1333983600,
'upload_date': '20120409',
},
'params': {
# format 'video1-1.0' HTTP Error 400: Bad Request
'skip_download': True,
},
},
{
@ -267,7 +286,6 @@ class MediasiteIE(InfoExtractor):
})
formats.extend(stream_formats)
# XXX: Presentation['Presenters']
# XXX: Presentation['Transcript']
return {
@ -278,6 +296,7 @@ class MediasiteIE(InfoExtractor):
'timestamp': float_or_none(presentation.get('UnixTime'), 1000),
'formats': formats,
'thumbnails': thumbnails,
'cast': traverse_obj(presentation, ('Presenters', ..., 'Name', {str})),
}