Merge pull request #214 from arabcoders/dev

fix params Impersonate target
This commit is contained in:
Abdulmohsen 2025-03-16 21:32:25 +03:00 committed by GitHub
commit 3161fc0bb8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 12 additions and 8 deletions

View file

@ -27,6 +27,7 @@
"libcurl",
"libx",
"matroska",
"mkvtoolsnix",
"mpegts",
"msvideo",
"muxdelay",

View file

@ -9,8 +9,8 @@ YTPTube started as a fork of [meTube](https://github.com/alexta69/metube), Since
# YTPTube Features.
* Multi-downloads support.
* Handle live streams.
* Schedule Channels or Playlists to be downloaded automatically at a specific time.
* Send notification to targets based on specified events.
* Schedule channels or playlists to be downloaded automatically at a specified time.
* Send notification to targets based on selected events.
* Support per link `yt-dlp JSON config or cli options`, `cookies` & `output format`.
* Queue multiple URLs separated by comma.
* A built in video player that can play any video file regardless of the format. **With support for sidecar external subtitles**.

View file

@ -203,11 +203,6 @@ class Download:
self.logger.debug("Params before passing to yt-dlp.", extra=params)
if "impersonate" in params:
from yt_dlp.networking.impersonate import ImpersonateTarget
params["impersonate"] = ImpersonateTarget.from_str(params["impersonate"])
params["logger"] = NestedLogger(self.logger)
cls = yt_dlp.YoutubeDL(params=params)

View file

@ -424,7 +424,6 @@ def arg_converter(args: str) -> dict:
"""
import yt_dlp.options
from yt_dlp.utils import DateRange
create_parser = yt_dlp.options.create_parser

View file

@ -137,4 +137,9 @@ class YTDLPOpts(metaclass=Singleton):
data["daterange"] = DateRange(data["daterange"]["start"], data["daterange"]["end"])
if "impersonate" in data and isinstance(data["impersonate"], str):
from yt_dlp.networking.impersonate import ImpersonateTarget
data["impersonate"] = ImpersonateTarget.from_str(data["impersonate"])
return data

View file

@ -2,6 +2,7 @@ import json
from datetime import date
from pathlib import Path
from yt_dlp.networking.impersonate import ImpersonateTarget
from yt_dlp.utils import DateRange
@ -22,6 +23,9 @@ class Encoder(json.JSONEncoder):
if isinstance(o, date):
return str(o)
if isinstance(o, ImpersonateTarget):
return str(o)
if isinstance(o, object):
if hasattr(o, "serialize"):
return o.serialize()