diff --git a/unshackle/commands/dl.py b/unshackle/commands/dl.py index 9a99bfc..559cfd9 100644 --- a/unshackle/commands/dl.py +++ b/unshackle/commands/dl.py @@ -213,7 +213,7 @@ class dl: @click.option( "--sub-format", type=SubtitleCodecChoice(Subtitle.Codec), - default="srt", + default=None, help="Set Output Subtitle Format, only converting if necessary.", ) @click.option("-V", "--video-only", is_flag=True, default=False, help="Only download video tracks.") @@ -1701,10 +1701,14 @@ class dl: # All DecryptLabs CDMs use DecryptLabsRemoteCDM return DecryptLabsRemoteCDM(service_name=service, vaults=self.vaults, **cdm_api) else: - del cdm_api["name"] - if "type" in cdm_api: - del cdm_api["type"] - return RemoteCdm(**cdm_api) + return RemoteCdm( + device_type=cdm_api['Device Type'], + system_id=cdm_api['System ID'], + security_level=cdm_api['Security Level'], + host=cdm_api['Host'], + secret=cdm_api['Secret'], + device_name=cdm_api['Device Name'], + ) prd_path = config.directories.prds / f"{cdm_name}.prd" if not prd_path.is_file(): diff --git a/unshackle/core/manifests/dash.py b/unshackle/core/manifests/dash.py index ec19e25..56fec08 100644 --- a/unshackle/core/manifests/dash.py +++ b/unshackle/core/manifests/dash.py @@ -253,8 +253,8 @@ class DASH: ): if not session: session = Session() - elif not isinstance(session, Session): - raise TypeError(f"Expected session to be a {Session}, not {session!r}") + elif not isinstance(session, (Session, CurlSession)): + raise TypeError(f"Expected session to be a {Session} or {CurlSession}, not {session!r}") if proxy: session.proxies.update({"all": proxy})