()
| 350 | |
| 351 | |
| 352 | def _getnative(): |
| 353 | args = parser.parse_args() |
| 354 | |
| 355 | if args.use: |
| 356 | source_filter = get_attr(core, args.use) |
| 357 | if not source_filter: |
| 358 | raise GetnativeException(f"{args.use} is not available.") |
| 359 | print(f"Using {args.use} as source filter", file=sys.stderr) |
| 360 | else: |
| 361 | source_filter = get_source_filter(core, imwri, args) |
| 362 | |
| 363 | src = source_filter(args.input_file) |
| 364 | |
| 365 | mode = [None] # default |
| 366 | if args.mode == "bilinear": |
| 367 | mode = [common_scaler["bilinear"][0]] |
| 368 | elif args.mode == "bicubic": |
| 369 | mode = [scaler for scaler in common_scaler["bicubic"]] |
| 370 | elif args.mode == "bl-bc": |
| 371 | mode = [scaler for scaler in common_scaler["bicubic"]] |
| 372 | mode.append(common_scaler["bilinear"][0]) |
| 373 | elif args.mode == "all": |
| 374 | mode = [s for scaler in common_scaler.values() for s in scaler] |
| 375 | |
| 376 | loop = asyncio.get_event_loop() |
| 377 | for i, scaler in enumerate(mode): |
| 378 | if scaler is not None and scaler.plugin is None: |
| 379 | print(f"Warning: No correct descale version found for {scaler}, continuing with next scaler when available.", file=sys.stderr) |
| 380 | continue |
| 381 | loop.run_until_complete(getnative(args, src, scaler, first_time=True if i == 0 else False)) |
| 382 | |
| 383 | |
| 384 | parser = argparse.ArgumentParser(description='Find the native resolution(s) of upscaled material (mostly anime)') |
no test coverage detected