mirror of
				https://github.com/devine-dl/pywidevine.git
				synced 2025-11-04 11:54:50 +00:00 
			
		
		
		
	Replace all lazy log formatting with logging formatting
DeepSource (PYL-W1203)
This commit is contained in:
		
							parent
							
								
									7c826624a2
								
							
						
					
					
						commit
						7436c60d00
					
				@ -29,7 +29,7 @@ def main(version: bool, debug: bool) -> None:
 | 
				
			|||||||
    if copyright_years != current_year:
 | 
					    if copyright_years != current_year:
 | 
				
			||||||
        copyright_years = f"{copyright_years}-{current_year}"
 | 
					        copyright_years = f"{copyright_years}-{current_year}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log.info(f"pywidevine version {__version__} Copyright (c) {copyright_years} rlaphoenix")
 | 
					    log.info("pywidevine version %s Copyright (c) %s rlaphoenix", __version__, copyright_years)
 | 
				
			||||||
    log.info("https://github.com/rlaphoenix/pywidevine")
 | 
					    log.info("https://github.com/rlaphoenix/pywidevine")
 | 
				
			||||||
    if version:
 | 
					    if version:
 | 
				
			||||||
        return
 | 
					        return
 | 
				
			||||||
@ -68,17 +68,17 @@ def license_(device: Path, pssh: str, server: str, type_: str, privacy: bool):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # load device
 | 
					    # load device
 | 
				
			||||||
    device = Device.load(device)
 | 
					    device = Device.load(device)
 | 
				
			||||||
    log.info(f"[+] Loaded Device ({device.system_id} L{device.security_level})")
 | 
					    log.info("[+] Loaded Device (%s L%s)", device.system_id, device.security_level)
 | 
				
			||||||
    log.debug(device)
 | 
					    log.debug(device)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # load cdm
 | 
					    # load cdm
 | 
				
			||||||
    cdm = Cdm.from_device(device)
 | 
					    cdm = Cdm.from_device(device)
 | 
				
			||||||
    log.info(f"[+] Loaded CDM")
 | 
					    log.info("[+] Loaded CDM")
 | 
				
			||||||
    log.debug(cdm)
 | 
					    log.debug(cdm)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # open cdm session
 | 
					    # open cdm session
 | 
				
			||||||
    session_id = cdm.open()
 | 
					    session_id = cdm.open()
 | 
				
			||||||
    log.info(f"[+] Opened CDM Session: {session_id.hex()}")
 | 
					    log.info("[+] Opened CDM Session: %s", session_id.hex())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if privacy:
 | 
					    if privacy:
 | 
				
			||||||
        # get service cert for license server via cert challenge
 | 
					        # get service cert for license server via cert challenge
 | 
				
			||||||
@ -87,11 +87,15 @@ def license_(device: Path, pssh: str, server: str, type_: str, privacy: bool):
 | 
				
			|||||||
            data=cdm.service_certificate_challenge
 | 
					            data=cdm.service_certificate_challenge
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        if service_cert.status_code != 200:
 | 
					        if service_cert.status_code != 200:
 | 
				
			||||||
            log.error(f"[-] Failed to get Service Privacy Certificate: [{service_cert.status_code}] {service_cert.text}")
 | 
					            log.error(
 | 
				
			||||||
 | 
					                "[-] Failed to get Service Privacy Certificate: [%s] %s",
 | 
				
			||||||
 | 
					                service_cert.status_code,
 | 
				
			||||||
 | 
					                service_cert.text
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
        service_cert = service_cert.content
 | 
					        service_cert = service_cert.content
 | 
				
			||||||
        provider_id = cdm.set_service_certificate(session_id, service_cert)
 | 
					        provider_id = cdm.set_service_certificate(session_id, service_cert)
 | 
				
			||||||
        log.info(f"[+] Set Service Privacy Certificate: {provider_id}")
 | 
					        log.info("[+] Set Service Privacy Certificate: %s", provider_id)
 | 
				
			||||||
        log.debug(service_cert)
 | 
					        log.debug(service_cert)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # get license challenge
 | 
					    # get license challenge
 | 
				
			||||||
@ -106,7 +110,7 @@ def license_(device: Path, pssh: str, server: str, type_: str, privacy: bool):
 | 
				
			|||||||
        data=challenge
 | 
					        data=challenge
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    if licence.status_code != 200:
 | 
					    if licence.status_code != 200:
 | 
				
			||||||
        log.error(f"[-] Failed to send challenge: [{licence.status_code}] {licence.text}")
 | 
					        log.error("[-] Failed to send challenge: [%s] %s", licence.status_code, licence.text)
 | 
				
			||||||
        return
 | 
					        return
 | 
				
			||||||
    licence = licence.content
 | 
					    licence = licence.content
 | 
				
			||||||
    log.info("[+] Got License Message")
 | 
					    log.info("[+] Got License Message")
 | 
				
			||||||
@ -118,7 +122,7 @@ def license_(device: Path, pssh: str, server: str, type_: str, privacy: bool):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # print keys
 | 
					    # print keys
 | 
				
			||||||
    for key in cdm.get_keys(session_id):
 | 
					    for key in cdm.get_keys(session_id):
 | 
				
			||||||
        log.info(f"[{key.type}] {key.kid.hex}:{key.key.hex()}")
 | 
					        log.info("[%s] %s:%s", key.type, key.kid.hex, key.key.hex())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # close session, disposes of session data
 | 
					    # close session, disposes of session data
 | 
				
			||||||
    cdm.close(session_id)
 | 
					    cdm.close(session_id)
 | 
				
			||||||
@ -227,20 +231,20 @@ def create_device(
 | 
				
			|||||||
    out_path = (output or Path.cwd()) / f"{name}_{device.system_id}_l{device.security_level}.wvd"
 | 
					    out_path = (output or Path.cwd()) / f"{name}_{device.system_id}_l{device.security_level}.wvd"
 | 
				
			||||||
    out_path.write_bytes(wvd_bin)
 | 
					    out_path.write_bytes(wvd_bin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log.info(f"Created Widevine Device (.wvd) file, {out_path.name}")
 | 
					    log.info("Created Widevine Device (.wvd) file, %s", out_path.name)
 | 
				
			||||||
    log.info(f" + Type: {device.type.name}")
 | 
					    log.info(" + Type: %s", device.type.name)
 | 
				
			||||||
    log.info(f" + System ID: {device.system_id}")
 | 
					    log.info(" + System ID: %s", device.system_id)
 | 
				
			||||||
    log.info(f" + Security Level: {device.security_level}")
 | 
					    log.info(" + Security Level: %s", device.security_level)
 | 
				
			||||||
    log.info(f" + Flags: {device.flags}")
 | 
					    log.info(" + Flags: %s", device.flags)
 | 
				
			||||||
    log.info(f" + Private Key: {bool(device.private_key)} ({device.private_key.size_in_bits()} bit)")
 | 
					    log.info(" + Private Key: %s (%s bit)", bool(device.private_key), device.private_key.size_in_bits())
 | 
				
			||||||
    log.info(f" + Client ID: {bool(device.client_id)} ({len(device.client_id.SerializeToString())} bytes)")
 | 
					    log.info(" + Client ID: %s (%s bytes)", bool(device.client_id), len(device.client_id.SerializeToString()))
 | 
				
			||||||
    if device.client_id.vmp_data:
 | 
					    if device.client_id.vmp_data:
 | 
				
			||||||
        file_hashes_ = FileHashes()
 | 
					        file_hashes_ = FileHashes()
 | 
				
			||||||
        file_hashes_.ParseFromString(device.client_id.vmp_data)
 | 
					        file_hashes_.ParseFromString(device.client_id.vmp_data)
 | 
				
			||||||
        log.info(f" + VMP: True ({len(file_hashes_.signatures)} signatures)")
 | 
					        log.info(" + VMP: True (%s signatures)", len(file_hashes_.signatures))
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        log.info(" + VMP: False")
 | 
					        log.info(" + VMP: False")
 | 
				
			||||||
    log.info(f" + Saved to: {out_path.absolute()}")
 | 
					    log.info(" + Saved to: %s", out_path.absolute())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@main.command()
 | 
					@main.command()
 | 
				
			||||||
@ -267,12 +271,12 @@ def migrate(ctx: click.Context, path: Path) -> None:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    migrated = 0
 | 
					    migrated = 0
 | 
				
			||||||
    for device in devices:
 | 
					    for device in devices:
 | 
				
			||||||
        log.info(f"Migrating {device.name}...")
 | 
					        log.info("Migrating %s...", device.name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            new_device = Device.migrate(device.read_bytes())
 | 
					            new_device = Device.migrate(device.read_bytes())
 | 
				
			||||||
        except (ConstructError, ValueError) as e:
 | 
					        except (ConstructError, ValueError) as e:
 | 
				
			||||||
            log.error(f" - {e}")
 | 
					            log.error(" - %s", e)
 | 
				
			||||||
            continue
 | 
					            continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        log.debug(new_device)
 | 
					        log.debug(new_device)
 | 
				
			||||||
@ -281,7 +285,7 @@ def migrate(ctx: click.Context, path: Path) -> None:
 | 
				
			|||||||
        log.info(" + Success")
 | 
					        log.info(" + Success")
 | 
				
			||||||
        migrated += 1
 | 
					        migrated += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log.info(f"Migrated {migrated}/{len(devices)} devices!")
 | 
					    log.info("Migrated %s/%s devices!", migrated, len(devices))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@main.command("serve", short_help="Serve your local CDM and Widevine Devices Remotely.")
 | 
					@main.command("serve", short_help="Serve your local CDM and Widevine Devices Remotely.")
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user