36 lines
1021 B
Python
Executable File
36 lines
1021 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import argparse
|
|
import requests
|
|
|
|
HIDDEN_API = "http://0.0.0.0:7813"
|
|
REMOTE_API = "http://0.0.0.0:7814/api1"
|
|
|
|
|
|
def main() -> None:
|
|
parser = argparse.ArgumentParser(description="Small Tauon remote control CLI")
|
|
group = parser.add_mutually_exclusive_group(required=True)
|
|
group.add_argument("--next-song", action="store_true")
|
|
group.add_argument("--play-pause", action="store_true")
|
|
group.add_argument("--previous-song", action="store_true")
|
|
group.add_argument("--volume", type=int)
|
|
args = parser.parse_args()
|
|
|
|
if args.next_song:
|
|
call_api(f"{REMOTE_API}/next")
|
|
if args.play_pause:
|
|
call_api(f"{HIDDEN_API}/playpause/")
|
|
if args.previous_song:
|
|
call_api(f"{REMOTE_API}/back")
|
|
if args.volume is not None:
|
|
call_api(f"{REMOTE_API}/setvolumerel/{args.volume}")
|
|
|
|
|
|
def call_api(endpoint: str) -> None:
|
|
response = requests.get(endpoint)
|
|
print(f"HTTP {response.status_code} ({endpoint})")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|