sane-cast: add an --always-ask option
This commit is contained in:
parent
a40f05260a
commit
6f2ae56126
|
@ -135,14 +135,7 @@ class Go2TvDriver:
|
||||||
os.execvp("go2tv", cli_args)
|
os.execvp("go2tv", cli_args)
|
||||||
|
|
||||||
|
|
||||||
def choose_device(devices: list[Device]) -> Device | None:
|
def ask_device(devices: list[Device]) -> Device | None:
|
||||||
if not devices:
|
|
||||||
logger.info("no devices found!")
|
|
||||||
return
|
|
||||||
|
|
||||||
if len(devices) == 1:
|
|
||||||
return devices[0]
|
|
||||||
|
|
||||||
dev = None
|
dev = None
|
||||||
while dev is None:
|
while dev is None:
|
||||||
# TODO: use a GUI menu like zenity?
|
# TODO: use a GUI menu like zenity?
|
||||||
|
@ -163,12 +156,20 @@ def choose_device(devices: list[Device]) -> Device | None:
|
||||||
|
|
||||||
return dev
|
return dev
|
||||||
|
|
||||||
|
def get_default_device(devices: list[Device]) -> Device | None:
|
||||||
|
if not devices:
|
||||||
|
logger.info("no devices found!")
|
||||||
|
|
||||||
|
if len(devices) == 1:
|
||||||
|
return devices[0]
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
logging.basicConfig()
|
logging.basicConfig()
|
||||||
logging.getLogger().setLevel(logging.INFO)
|
logging.getLogger().setLevel(logging.INFO)
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description="cast media to a DLNA receiver in range")
|
parser = argparse.ArgumentParser(description="cast media to a DLNA receiver in range")
|
||||||
parser.add_argument("--verbose", action="store_true", help="more logging")
|
parser.add_argument("--verbose", action="store_true", help="more logging")
|
||||||
|
parser.add_argument("--always-ask", action="store_true", help="always ask which device to cast to, regardless how many are available")
|
||||||
parser.add_argument("media", help="file or URL to send to the DLNA device")
|
parser.add_argument("media", help="file or URL to send to the DLNA device")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
@ -180,7 +181,9 @@ def main():
|
||||||
go2tv.scan_devices()
|
go2tv.scan_devices()
|
||||||
devices = go2tv.rank_devices()
|
devices = go2tv.rank_devices()
|
||||||
|
|
||||||
dev = choose_device(devices)
|
dev = get_default_device(devices)
|
||||||
|
if dev is None or args.always_ask:
|
||||||
|
dev = ask_device(devices)
|
||||||
if dev:
|
if dev:
|
||||||
go2tv.cast_to(dev, args.media)
|
go2tv.cast_to(dev, args.media)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user