# -*- coding: utf-8 -*- __author__ = 'luckydonald' from luckydonaldUtils.logger import logging # pip install luckydonald-utils logger = logging.getLogger(__name__) from luckydonaldUtils.encoding import to_binary from luckydonaldUtils import py3 from luckydonaldUtils import dependencies from luckydonaldUtils.images.color import most_frequent_color dependencies.import_or_install("PIL", "Pillow") from PIL import Image dependencies.import_or_install("webbrowser") import webbrowser from threading import Thread from shairportdecoder.remote import AirplayRemote from shairportdecoder.metadata import Infos from shairportdecoder import decoder from shairportdecoder.decoder import Processor from time import sleep if py3: from socketserver import TCPServer from http.server import SimpleHTTPRequestHandler else: from SimpleHTTPServer import SimpleHTTPRequestHandler from SocketServer import TCPServer
# -*- coding: utf-8 -*- __author__ = 'luckydonald' from luckydonaldUtils.logger import logging # pip install luckydonald-utils from luckydonaldUtils.encoding import to_native as n # pip install luckydonald-utils from luckydonaldUtils.dependencies import import_or_install # pip install luckydonald-utils from luckydonaldUtils.network.ip import binary_ip_to_str # pip install luckydonald-utils logger = logging.getLogger(__name__) import requests from shairportdecoder.remote.utils import ServiceListener, ResultWaiter zeroconf = import_or_install("zeroconf", "zeroconf") from zeroconf import ServiceBrowser, Zeroconf airplay_zeroconf_service = "_dacp._tcp.local." # local? airplay_prefix = "iTunes_Ctrl_{dacp_id}" base_url = "{host}:{port}/ctrl-int/1/{command}" class AirplayRemote(object): """ GET /ctrl-int/1/pause HTTP/1.1 Active-Remote: 1986535575 """ def __init__(self, token, host, port): super(AirplayRemote, self).__init__() self.token = token self.host = host self.port = port